/* tt-core */
/* ==========================================================================
   T&T Design · design system (rol ui) · tt-core/assets/tt.css
   Palet A + variant "Tribu". Koppen Fira Sans (sinds 29/09, --tt-serif = kopfont) + Jost. Geen cursief, nooit.

   KLASSEN-API (voor Elementor en voor andere rollen)
   Tokens   --tt-ivoor --tt-zand --tt-zand2 --tt-taupe --tt-walnoot --tt-roest --tt-roest-hover --tt-espresso
            --tt-espresso2 --tt-lijn --tt-serif --tt-sans  ·  ritme: --tt-gutter --tt-max --tt-sec-y --tt-gap
            semantisch (wisselt per achtergrond): --tt-bg --tt-ink --tt-head --tt-muted --tt-acc-c --tt-kick --tt-line
   Sectie   .tt-sec (+ .tt-bg-ivoor|zand|zand2|dark) > .tt-wrap > .tt-head(.tt-head--center) + inhoud
   Tekst    .tt-kicker .tt-h1 .tt-h2 .tt-lead .tt-prose .tt-acc (accentwoord walnoot) .tt-note
   Knoppen  .tt-btn + .tt-btn--fill|outline|light|link (+ --arrow / --plain), groep .tt-ctas
            werkt op een Elementor-knopwidget (klasse op de widget) en op een gewone <a>/<button>.
   Beeld    .tt-media (vult zijn kader) · .tt-ratio-4-5|1-1|3-2|16-9|3-4 · .tt-card-hover
   Iconen   .tt-ico .tt-ico-<naam> (fabriek, levering, wereld, maat, ervaring, showroom, advies, video, telefoon,
            whatsapp, kalender, pin, blad, zon, bed, lamp, bord, vuur, mes, container, hand, zetel, tuin, mail,
            klok, parking, route, gids, info, brochure, pijl, sluit, vink, play)
   Beweging .tt-reveal · .tt-stagger (kinderen na elkaar) · .tt-mask (gordijn) · .tt-rule (lijn tekent)
            .tt-parallax · .tt-count · .tt-intro. Enkel actief met html.tt-motion (niet bij
            prefers-reduced-motion, niet met ?tt-static=1, niet in de Elementor-editor).
   Lead     #lead=<type>&ctx=..&store=.. of [data-lead] opent het paneel (tt.js + inc/40-lead-ui.php).
   ========================================================================== */

/* ---------------------------------------------------------------- fonts (lokaal, GDPR) */
/* koppen: Fira Sans (feedback Dario 29/09: serif vervangen door sans), statische gewichten 300/400/500, latin */
@font-face{font-family:"Fira Sans";src:url("https://ttdesign.swift.be/wp-content/uploads/tt-fonts/fira-sans-latin-300.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Fira Sans";src:url("https://ttdesign.swift.be/wp-content/uploads/tt-fonts/fira-sans-latin-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Fira Sans";src:url("https://ttdesign.swift.be/wp-content/uploads/tt-fonts/fira-sans-latin-500.woff2") format("woff2");font-weight:500 700;font-style:normal;font-display:swap}
@font-face{font-family:"Jost";src:url("https://ttdesign.swift.be/wp-content/uploads/tt-fonts/jost-latin.woff2") format("woff2");
  font-weight:100 900;font-style:normal;font-display:swap}

/* ---------------------------------------------------------------- tokens */
:root{
  --tt-ivoor:#FAF6EF;--tt-zand:#EADFCD;--tt-zand2:#F3ECE0;--tt-taupe:#B9A88F;--tt-walnoot:#8A6B4E;
  --tt-roest:#A85A34;--tt-roest-hover:#8F4A29;--tt-espresso:#2E2721;--tt-espresso2:#5A4C41;--tt-lijn:rgba(46,39,33,.14);
  --tt-serif:"Fira Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--tt-sans:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;
  --tt-licht:#F0E4D2;--tt-nacht:#1F1A16;--tt-hout:#6D5A47;

  /* ritme */
  --tt-gutter:clamp(20px,3.4vw,56px);--tt-max:1320px;
  --tt-sec-y:clamp(4.5rem,2.8rem + 6.4vw,9rem);
  --tt-gap:clamp(1.25rem,.85rem + 1.5vw,2.25rem);
  --tt-gap-lg:clamp(2.5rem,1rem + 5.2vw,6.5rem);
  --tt-head-mb:clamp(2.5rem,1.7rem + 2.6vw,4.25rem);

  /* typografische schaal (vloeiend, rem: respecteert de lettergrootte van de bezoeker) */
  --tt-fs-display:clamp(2.5rem,1.45rem + 4.3vw,5.3rem);
  --tt-fs-h1:clamp(2.25rem,1.5rem + 3.1vw,4.35rem);
  --tt-fs-h2:clamp(1.8rem,1.3rem + 1.95vw,3rem);
  --tt-fs-h3:clamp(1.25rem,1.1rem + .55vw,1.6rem);
  --tt-fs-h4:clamp(1.08rem,1rem + .25vw,1.22rem);
  --tt-fs-lead:clamp(1.06rem,1rem + .28vw,1.22rem);
  --tt-fs-body:clamp(1rem,.97rem + .12vw,1.0625rem);
  --tt-fs-small:.9rem;--tt-fs-xs:.78rem;--tt-fs-kicker:.74rem;

  /* beweging */
  --tt-ease:cubic-bezier(.2,.7,.2,1);--tt-ease-out:cubic-bezier(.16,1,.3,1);--tt-ease-inout:cubic-bezier(.65,0,.35,1);

  /* semantisch (licht) */
  --tt-bg:var(--tt-ivoor);--tt-ink:var(--tt-espresso);--tt-head:var(--tt-espresso);--tt-muted:var(--tt-espresso2);
  --tt-hint:#6F6152;--tt-link-sm:#765A41;
  --tt-acc-c:var(--tt-walnoot);--tt-kick:var(--tt-roest);--tt-line:var(--tt-lijn);--tt-line-strong:var(--tt-espresso);
  --tt-card:#fff;
}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.42s;animation-timing-function:var(--tt-ease)}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}

/* ---------------------------------------------------------------- basis */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;font-synthesis-style:none}
body.tt-site{background:var(--tt-ivoor);color:var(--tt-espresso);font-family:var(--tt-sans);font-weight:300;font-size:var(--tt-fs-body);
  line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
body.tt-site a{color:inherit}
body.tt-site em,body.tt-site i,body.tt-site cite,body.tt-site address,body.tt-site dfn,body.tt-site var,body.tt-site figcaption{font-style:normal}
body.tt-site ::selection{background:var(--tt-zand);color:var(--tt-espresso)}
body.tt-site :focus-visible{outline:2px solid var(--tt-roest);outline-offset:3px}
body.tt-site img{max-width:100%}
.tt-acc{color:var(--tt-acc-c);font-style:normal}
.tt-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------------------------------------------------------------- Elementor-containers binnen T&T-secties: geen standaardpadding/gap */
.e-con.tt-sec,.tt-sec .e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px}
.tt-sec .elementor-widget{--kit-widget-spacing:0px;margin-block-end:0}
.tt-sec .elementor-widget:not(:last-child){margin-block-end:0}
.tt-sec .elementor-widget-text-editor :is(p,ul,ol,table,figure,blockquote):last-child{margin-bottom:0}
.tt-sec .elementor-heading-title{line-height:inherit}

/* ---------------------------------------------------------------- sectie, achtergronden, wrap */
.e-con.tt-sec{--padding-top:var(--tt-sec-y);--padding-bottom:var(--tt-sec-y);position:relative;background-color:var(--tt-bg);color:var(--tt-ink);isolation:isolate}
.tt-bg-ivoor{--tt-bg:var(--tt-ivoor)}
.tt-bg-zand{--tt-bg:var(--tt-zand);--tt-kick:var(--tt-roest-hover);--tt-line:rgba(46,39,33,.17);--tt-card:var(--tt-ivoor)}
.tt-bg-zand2{--tt-bg:var(--tt-zand2);--tt-kick:var(--tt-roest-hover);--tt-line:rgba(46,39,33,.15);--tt-card:var(--tt-ivoor)}
.tt-bg-dark{--tt-bg:var(--tt-espresso);--tt-ink:rgba(250,246,239,.84);--tt-head:var(--tt-ivoor);--tt-muted:rgba(250,246,239,.68);
  --tt-acc-c:var(--tt-taupe);--tt-kick:var(--tt-taupe);--tt-line:rgba(250,246,239,.16);--tt-line-strong:rgba(250,246,239,.7);--tt-card:#382f29}
/* opeenvolgende secties met dezelfde achtergrond: minder witruimte ertussen, zelfde rust */
:is(.e-con.tt-sec.tt-bg-ivoor+.e-con.tt-sec.tt-bg-ivoor,.e-con.tt-sec.tt-bg-zand+.e-con.tt-sec.tt-bg-zand,.e-con.tt-sec.tt-bg-zand2+.e-con.tt-sec.tt-bg-zand2,.e-con.tt-sec.tt-bg-dark+.e-con.tt-sec.tt-bg-dark):not(.tt-sec--usps,.tt-sec--marquee,.tt-hero,.tt-band,.tt-cta,.tt-pagehead,.tt-sec--usps + .e-con){--padding-top:calc(var(--tt-sec-y) * .35)}
/* feedback 1470: meer lucht na de USP-rij (die heeft geen eigen onderpadding) */
.e-con.tt-sec.tt-sec--usps + .e-con.tt-sec{--padding-top:calc(var(--tt-sec-y) * .8)}
.e-con.tt-wrap,.tt-wrap:not(.e-con){width:100%;max-width:calc(var(--tt-max) + 2 * var(--tt-gutter));margin-inline:auto;
  --padding-left:var(--tt-gutter);--padding-right:var(--tt-gutter)}
.tt-wrap:not(.e-con){padding-inline:var(--tt-gutter)}
.tt-wrap--narrow{--tt-max:54rem}

/* ---------------------------------------------------------------- typografie */
.tt-kicker:not(.elementor-widget),.elementor-widget.tt-kicker .elementor-heading-title{
  display:block;font-family:var(--tt-sans);font-weight:400;font-size:var(--tt-fs-kicker);line-height:1.5;letter-spacing:.32em;
  text-transform:uppercase;color:var(--tt-kick)}
.elementor-widget.tt-kicker .elementor-heading-title{margin:0}
.tt-kicker:not(.elementor-widget){margin-bottom:1.35rem}
.elementor-widget.tt-kicker + .elementor-widget,.elementor-widget.tt-kicker + .e-con{margin-top:1.2rem}
.tt-h1:not(.elementor-widget),.tt-h2:not(.elementor-widget),.elementor-widget.tt-h1 .elementor-heading-title,.elementor-widget.tt-h2 .elementor-heading-title{
  font-family:var(--tt-serif);font-weight:400;font-style:normal;color:var(--tt-head);letter-spacing:-.018em;text-wrap:balance;
  font-kerning:normal;font-feature-settings:"kern","liga";overflow-wrap:break-word}
.elementor-widget.tt-h1 .elementor-heading-title,.elementor-widget.tt-h2 .elementor-heading-title{margin:0}
.tt-h1:not(.elementor-widget),.elementor-widget.tt-h1 .elementor-heading-title{font-size:var(--tt-fs-h1);line-height:1.06}
.tt-h2:not(.elementor-widget),.elementor-widget.tt-h2 .elementor-heading-title{font-size:var(--tt-fs-h2);line-height:1.1}
.elementor-widget.tt-h1 .tt-acc,.elementor-widget.tt-h2 .tt-acc,.tt-h1 .tt-acc,.tt-h2 .tt-acc{color:var(--tt-acc-c)}
.elementor-widget.tt-lead,.tt-lead:not(.elementor-widget){font-size:var(--tt-fs-lead);line-height:1.72;color:var(--tt-muted);width:min(100%,40rem);margin-top:1.15rem}
.elementor-widget.tt-lead p,.tt-lead p{margin:0 0 .9em}
.elementor-widget.tt-lead p:last-child,.tt-lead p:last-child{margin-bottom:0}
.tt-note,.elementor-widget.tt-note{font-size:var(--tt-fs-xs);line-height:1.6;color:var(--tt-muted)}
.tt-sec h3,.tt-sec h4{font-family:var(--tt-serif);font-weight:500;color:var(--tt-head);letter-spacing:-.005em;margin:0}
.tt-sec .elementor-widget-heading h3.elementor-heading-title{font-family:var(--tt-serif);font-weight:500;color:var(--tt-head)}
.tt-sec .elementor-widget-text-editor{color:var(--tt-ink);font-family:var(--tt-sans);font-weight:300}
.tt-sec .elementor-widget-text-editor p{margin:0 0 1em}
.tt-sec .elementor-widget-text-editor strong,.tt-sec .elementor-widget-text-editor b{font-weight:500;color:var(--tt-head)}

/* ---------------------------------------------------------------- kop van een sectie */
.e-con.tt-head{display:flex;flex-direction:column;align-items:flex-start;max-width:48rem;margin-bottom:var(--tt-head-mb)}
.e-con.tt-head:last-child{margin-bottom:0}
.e-con.tt-head--center{align-items:center;text-align:center;margin-inline:auto}
.e-con.tt-head--center .tt-lead{margin-inline:auto}
.e-con.tt-head > .tt-ctas,.e-con.tt-head > .e-con.tt-ctas{margin-top:2.1rem}

/* ---------------------------------------------------------------- knoppen */
.e-con.tt-ctas,.tt-ctas:not(.e-con){display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.85rem 1rem;margin-top:2.1rem}
.e-con.tt-head--center .e-con.tt-ctas{justify-content:center}
.tt-ctas > .elementor-widget{width:auto;flex:0 0 auto}
.elementor-widget.tt-btn .elementor-button,body.tt-site .tt-btn:not(.elementor-widget){
  --b-bg:transparent;--b-fg:var(--tt-head);--b-bd:var(--tt-line-strong);--b-hbg:var(--tt-espresso);--b-hfg:var(--tt-ivoor);--b-hbd:var(--tt-espresso);
  display:inline-flex;align-items:center;justify-content:center;gap:.9em;min-height:3.35rem;padding:1.12em 1.95em;
  font-family:var(--tt-sans);font-weight:500;font-size:.78rem;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;
  text-align:center;color:var(--b-fg);background:var(--b-bg);border:1px solid var(--b-bd);border-radius:0;box-shadow:none;cursor:pointer;
  transition:background-color .38s var(--tt-ease),color .38s var(--tt-ease),border-color .38s var(--tt-ease);-webkit-tap-highlight-color:transparent}
.elementor-widget.tt-btn .elementor-button:hover,.elementor-widget.tt-btn .elementor-button:focus-visible,body.tt-site .tt-btn:not(.elementor-widget):hover,body.tt-site .tt-btn:not(.elementor-widget):focus-visible{
  color:var(--b-hfg);background:var(--b-hbg);border-color:var(--b-hbd)}
.elementor-widget.tt-btn .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:.9em;flex-direction:row}
.elementor-widget.tt-btn .elementor-button-text{flex-grow:0}
/* varianten */
.elementor-widget.tt-btn--fill .elementor-button,body.tt-site .tt-btn--fill:not(.elementor-widget){--b-bg:var(--tt-roest);--b-fg:#fff;--b-bd:var(--tt-roest);--b-hbg:var(--tt-roest-hover);--b-hfg:#fff;--b-hbd:var(--tt-roest-hover)}
.tt-bg-dark .elementor-widget.tt-btn--outline .elementor-button,body.tt-site .tt-bg-dark .tt-btn--outline:not(.elementor-widget),
.elementor-widget.tt-btn--light .elementor-button,body.tt-site .tt-btn--light:not(.elementor-widget){
  --b-fg:var(--tt-ivoor);--b-bd:rgba(250,246,239,.62);--b-hbg:var(--tt-ivoor);--b-hfg:var(--tt-espresso);--b-hbd:var(--tt-ivoor)}
.elementor-widget.tt-btn--link .elementor-button,body.tt-site .tt-btn--link:not(.elementor-widget){--b-bd:transparent;--b-hbg:transparent;--b-hfg:var(--tt-roest);--b-hbd:transparent;
  min-height:0;padding:.35em 0;border-width:0 0 1px;border-color:currentColor}
/* pijl die 4 px schuift: op alle knoppen (feedback Dario 29/09, pin 1533); nooit met --plain */
.elementor-widget.tt-btn .elementor-button-content-wrapper::after,body.tt-site .tt-btn:not(.elementor-widget)::after{
  content:"";display:block;width:1.15em;height:1.15em;flex:0 0 auto;background:currentColor;
  -webkit-mask:var(--tt-arrow) center/contain no-repeat;mask:var(--tt-arrow) center/contain no-repeat;transition:transform .38s var(--tt-ease)}
.elementor-widget.tt-btn--fill .elementor-button-content-wrapper::after,.elementor-widget.tt-btn--arrow .elementor-button-content-wrapper::after,
.elementor-widget.tt-btn--link .elementor-button-content-wrapper::after,.tt-ctas > .elementor-widget.tt-btn:only-child .elementor-button-content-wrapper::after,
body.tt-site .tt-btn--fill:not(.elementor-widget)::after,body.tt-site .tt-btn--arrow:not(.elementor-widget)::after,body.tt-site .tt-btn--link:not(.elementor-widget)::after{display:block}
.elementor-widget.tt-btn--plain .elementor-button-content-wrapper::after,body.tt-site .tt-btn--plain::after{display:none!important}
.elementor-widget.tt-btn .elementor-button:hover .elementor-button-content-wrapper::after,.elementor-widget.tt-btn .elementor-button:focus-visible .elementor-button-content-wrapper::after,
body.tt-site .tt-btn:not(.elementor-widget):hover::after,body.tt-site .tt-btn:not(.elementor-widget):focus-visible::after{transform:translateX(4px)}

/* ---------------------------------------------------------------- beeld */
.elementor-widget.tt-media,.tt-media:not(.elementor-widget){display:block;width:100%;height:100%;overflow:hidden;background:var(--tt-zand2)}
.elementor-widget.tt-media img,.elementor-widget.tt-media video,img.tt-media{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--tt-pos,50% 50%);border-radius:0}
.elementor-widget.tt-media .elementor-widget-container,.elementor-widget.tt-media .elementor-wrapper{height:100%}
:where(.tt-sec) .elementor-widget-image{text-align:left;line-height:0}
:where(.tt-sec) .elementor-widget-image img{display:block;height:auto}
.e-con.tt-ratio-4-5{aspect-ratio:4/5}.e-con.tt-ratio-1-1{aspect-ratio:1}.e-con.tt-ratio-3-2{aspect-ratio:3/2}.e-con.tt-ratio-16-9{aspect-ratio:16/9}
.e-con.tt-ratio-3-4{aspect-ratio:3/4}.e-con.tt-ratio-5-4{aspect-ratio:5/4}.e-con.tt-ratio-16-10{aspect-ratio:16/10}
.tt-media img,.tt-media video{scale:var(--tt-base,1);transition:scale 1.4s var(--tt-ease-out)}
.tt-card-hover:hover .tt-media img,.tt-card-hover:focus-visible .tt-media img{scale:calc(var(--tt-base,1) * 1.05)}
.e-con.tt-parallax{--tt-base:1.1;overflow:hidden}
.e-con.tt-parallax img,.e-con.tt-parallax video{translate:0 var(--tt-py,0px);scale:var(--tt-base,1.1)}
.tt-motion .e-con.tt-parallax img,.tt-motion .e-con.tt-parallax video{will-change:translate}
a.e-con{text-decoration:none;color:inherit}

/* ---------------------------------------------------------------- iconen (maskers, kleur = background-color) */
.elementor-widget.tt-ico::before,.tt-ico:not(.elementor-widget)::before{
  content:"";display:block;width:var(--tt-ico-size,1.9rem);height:var(--tt-ico-size,1.9rem);background-color:var(--tt-ico-c,var(--tt-acc-c));
  -webkit-mask:var(--tt-ico) center/contain no-repeat;mask:var(--tt-ico) center/contain no-repeat;margin-bottom:1.05rem}

/* ==========================================================================
   SECTIETYPES
   ========================================================================== */

/* ---------------------------------------------------------------- hero (page) */
.e-con.tt-hero{--tt-head:#fff;--tt-ink:rgba(255,255,255,.9);--tt-muted:rgba(255,255,255,.86);--tt-acc-c:var(--tt-licht);--tt-kick:var(--tt-licht);
  --tt-line-strong:rgba(255,255,255,.7);--padding-top:0px;--padding-bottom:0px;
  display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(30rem,78svh,50rem);overflow:hidden;background:var(--tt-nacht);color:#fff}
.e-con.tt-hero--tall{min-height:clamp(32rem,90svh,58rem)}.e-con.tt-hero--low{min-height:clamp(26rem,60svh,40rem)}
.e-con.tt-hero > .elementor-widget.tt-hero__media{position:absolute;inset:0;z-index:0;width:100%;height:100%;max-width:none;margin:0;overflow:hidden}
.e-con.tt-hero > .elementor-widget.tt-hero__media :is(.elementor-widget-container,.elementor-wrapper,.e-hosted-video){height:100%;aspect-ratio:auto}
.e-con.tt-hero > .elementor-widget.tt-hero__media :is(img,video){display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--tt-pos,50% 50%);background:transparent}
.e-con.tt-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(20,15,12,.5) 0%,rgba(20,15,12,.26) 38%,rgba(20,15,12,0) 64%),
    linear-gradient(180deg,rgba(20,15,12,.46) 0%,rgba(20,15,12,.12) 24%,rgba(20,15,12,.2) 52%,rgba(20,15,12,.78) 100%)}
/* kleine letters (kruimelpad, kicker, intro) blijven leesbaar op drukke of lichte beelden (WCAG AA) */
.e-con.tt-hero:not(.tt-hero--season) :is(.tt-crumbs,.tt-kicker .elementor-heading-title,.tt-hero__text){text-shadow:0 1px 14px rgba(20,15,12,.55),0 0 2px rgba(20,15,12,.35)}
.e-con.tt-hero > .e-con.tt-hero__inner{position:relative;z-index:2;padding-block:calc(var(--tt-hdr-h,120px) + 2rem) clamp(3.2rem,8vh,6.6rem)}
.tt-hero__inner > .elementor-widget.tt-h1 .elementor-heading-title{max-width:16ch;text-shadow:0 1px 30px rgba(20,15,12,.18)}
.elementor-widget.tt-hero__text{width:min(100%,34rem);margin-top:1.4rem;font-size:var(--tt-fs-lead);line-height:1.65;color:var(--tt-ink)}
.elementor-widget.tt-hero__text p{margin:0}
.tt-hero .e-con.tt-ctas{margin-top:2.25rem}
.elementor-widget.tt-hero__tag{position:absolute;right:var(--tt-gutter);bottom:1.6rem;z-index:3}
.elementor-widget.tt-hero__tag .elementor-heading-title{font-family:var(--tt-sans);font-weight:400;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.72)}
/* scrollpijl */
.elementor-widget.tt-scrollcue{position:absolute;left:50%;bottom:1.1rem;transform:translateX(-50%);z-index:3}
.elementor-widget.tt-scrollcue .elementor-heading-title a{display:flex;flex-direction:column;align-items:center;gap:.55rem;color:#fff;text-decoration:none;
  font-family:var(--tt-sans);font-weight:400;font-size:.64rem;letter-spacing:.26em;text-transform:uppercase;opacity:.88}
.elementor-widget.tt-scrollcue .elementor-heading-title a::after{content:"";width:1px;height:2.1rem;background:rgba(255,255,255,.85);transform-origin:top}
.tt-motion .elementor-widget.tt-scrollcue .elementor-heading-title a::after{animation:tt-cue 2.2s var(--tt-ease-inout) infinite 1.6s}
@keyframes tt-cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
/* kruimelpad (statisch, Home > ... > pagina) */
.elementor-widget.tt-crumbs + .elementor-widget{margin-top:1.5rem}
.elementor-widget.tt-crumbs{font-family:var(--tt-sans);font-weight:400;font-size:.7rem;line-height:1.5;letter-spacing:.18em;text-transform:uppercase;color:var(--tt-muted)}
.tt-crumbs__list{display:flex;flex-wrap:wrap;align-items:baseline;margin:0;padding:0;list-style:none}
.tt-crumbs__list > li{margin:0;padding:0;list-style:none}
.tt-crumbs__list > li + li::before{content:"/";margin:0 .6em;opacity:.55}
.elementor-widget.tt-crumbs a{text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent);text-decoration-thickness:1px;text-underline-offset:.3em;color:inherit;transition:text-decoration-color .3s}
.elementor-widget.tt-crumbs a:hover{text-decoration-color:currentColor}
.tt-crumbs [aria-current]{opacity:1}
/* seizoenshero (data levert [tt_season_hero]): de wrapper is neutraal en full-bleed */
.e-con.tt-hero--season{--padding-top:0px;--padding-bottom:0px;min-height:0;background:var(--tt-nacht);display:block}
.e-con.tt-hero--season::after{display:none}
.e-con.tt-hero--season > .elementor-widget{width:100%}

/* ---------------------------------------------------------------- compacte paginakop (geen hero-beeld) */
.e-con.tt-pagehead{--padding-top:clamp(3.5rem,2rem + 5vw,7.5rem);--padding-bottom:clamp(3rem,1.8rem + 4vw,6.5rem);background:var(--tt-bg)}
.e-con.tt-pagehead__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--tt-gap-lg);align-items:end}
.e-con.tt-pagehead__grid.has-media{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center}
.e-con.tt-pagehead__text-col{display:flex;flex-direction:column;align-items:flex-start;max-width:52rem}
.tt-pagehead .elementor-widget.tt-h1 .elementor-heading-title{font-size:clamp(2.5rem,1.7rem + 3.3vw,4.6rem)}
.e-con.tt-pagehead__media{aspect-ratio:5/4;overflow:hidden}
.tt-pagehead .elementor-widget.tt-crumbs{color:var(--tt-muted)}

/* ---------------------------------------------------------------- USP-rij (hairlines, rustig) */
.e-con.tt-sec--usps{--padding-top:0px;--padding-bottom:0px}
.e-con.tt-sec--usps .tt-head{margin-top:var(--tt-sec-y)}
.e-con.tt-usps{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:1px;background:var(--tt-line);border-block:1px solid var(--tt-line)}
.e-con.tt-usps--3{--n:3}.e-con.tt-usps--4{--n:4}.e-con.tt-usps--5{--n:5}.e-con.tt-usps--6{--n:6}
.e-con.tt-usp{display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(1.9rem,1.3rem + 1.4vw,2.7rem) clamp(1rem,.6rem + 1vw,1.75rem);
  background:var(--tt-bg);transition:background-color .45s var(--tt-ease)}
.e-con.tt-usp.is-hl{background:var(--tt-zand2)}
.tt-bg-zand2 .e-con.tt-usp.is-hl,.tt-bg-zand .e-con.tt-usp.is-hl{background:var(--tt-ivoor)}
a.e-con.tt-usp:hover{background:var(--tt-zand2)}
.elementor-widget.tt-usp__title::before{margin-inline:auto}
.elementor-widget.tt-usp__title .elementor-heading-title{font-family:var(--tt-serif);font-weight:500;font-size:clamp(1.22rem,1.1rem + .4vw,1.42rem);line-height:1.2;color:var(--tt-head)}
.elementor-widget.tt-usp__text{margin-top:.55rem;font-size:.9rem;line-height:1.6;color:var(--tt-muted)}
.elementor-widget.tt-usp__text p{margin:0}
a.e-con.tt-usp .tt-usp__title .elementor-heading-title{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.28em;text-decoration-thickness:1px;transition:text-decoration-color .35s}
a.e-con.tt-usp:hover .tt-usp__title .elementor-heading-title{text-decoration-color:currentColor}

/* ---------------------------------------------------------------- rasters */
.e-con.tt-segs,.e-con.tt-teasers,.e-con.tt-cards,.e-con.tt-steps,.e-con.tt-videos{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:clamp(2rem,1.4rem + 2vw,3.25rem) var(--tt-gap)}
.e-con.tt-cols-1{--cols:1}.e-con.tt-cols-2{--cols:2}.e-con.tt-cols-3{--cols:3}.e-con.tt-cols-4{--cols:4}
/* 3 kolommen zonder wees: 6-kolomsraster, een halve laatste rij wordt gecentreerd (bv. 5 teasers = 3 + 2) */
@media (min-width:901px){
.e-con.tt-cols-3:is(.tt-teasers,.tt-cards,.tt-videos){grid-template-columns:repeat(6,minmax(0,1fr))}
.e-con.tt-cols-3:is(.tt-teasers,.tt-cards,.tt-videos) > *{grid-column:span 2}
.e-con.tt-cols-3:is(.tt-teasers,.tt-cards,.tt-videos) > :nth-child(3n+1):nth-last-child(2){grid-column:2 / span 2}
.e-con.tt-cols-3:is(.tt-teasers,.tt-cards,.tt-videos) > :nth-child(3n+1):last-child{grid-column:3 / span 2}
}

/* ---------------------------------------------------------------- segmentkaarten (4:5, lijn erboven) */
.e-con.tt-segs{counter-reset:tt-seg}
a.e-con.tt-seg,.e-con.tt-seg{display:flex;flex-direction:column;counter-increment:tt-seg;color:inherit}
.e-con.tt-seg__ph{aspect-ratio:4/5;overflow:hidden;background:var(--tt-zand2)}
.e-con.tt-seg__cap{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;gap:1rem;margin-top:1.15rem;padding-top:.9rem}
.e-con.tt-seg__cap::after{content:counter(tt-seg,decimal-leading-zero);font-family:var(--tt-sans);font-weight:400;font-size:.7rem;letter-spacing:.2em;color:var(--tt-taupe);flex:0 0 auto}
.elementor-widget.tt-seg__title .elementor-heading-title{font-family:var(--tt-serif);font-weight:500;font-size:clamp(1.38rem,1.2rem + .6vw,1.7rem);line-height:1.15;color:var(--tt-head);transition:color .4s var(--tt-ease)}
.elementor-widget.tt-seg__sub{margin-top:.35rem;font-size:.9rem;line-height:1.55;color:var(--tt-muted)}
.elementor-widget.tt-seg__sub p{margin:0}
a.e-con.tt-seg:hover .tt-seg__title .elementor-heading-title{color:var(--tt-roest)}
/* lijn bovenaan (tekent bij in beeld komen) */
.e-con.tt-rule,.tt-rule:not(.e-con){background-image:linear-gradient(var(--tt-rule-c,var(--tt-line-strong)),var(--tt-rule-c,var(--tt-line-strong)));
  background-repeat:no-repeat;background-position:0 0;background-size:100% 1px}

/* ---------------------------------------------------------------- split (tekst + beeld/video/krijtbord) */
.e-con.tt-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--tt-gap-lg);align-items:center}
.e-con.tt-split--top{align-items:start}
.e-con.tt-split--rev > .tt-split__text{order:2}
.e-con.tt-split__text{display:flex;flex-direction:column;align-items:flex-start;max-width:36rem}
.e-con.tt-split--rev > .tt-split__text{justify-self:end}
.elementor-widget.tt-prose{margin-top:1.15rem;width:min(100%,38rem)}
.e-con.tt-split__media{position:relative;overflow:hidden;background:var(--tt-zand2)}
.e-con.tt-split__media > .elementor-widget{height:100%}
.e-con.tt-split__media:not(.tt-split__media--board):not(.tt-split__media--video):not([class*="tt-ratio-"]){aspect-ratio:4/5}
.e-con.tt-split__media--board{overflow:visible;background:transparent}
.e-con.tt-split__media--video{aspect-ratio:16/10}
.elementor-widget.tt-split__video :is(.elementor-wrapper,.e-hosted-video){height:100%;aspect-ratio:auto}
.elementor-widget.tt-split__video video{object-fit:cover;background:var(--tt-nacht)}
.tt-bg-dark .e-con.tt-split__media{background:#241e1a}

/* cijfers */
.e-con.tt-stats--inline{display:flex;flex-direction:row;flex-wrap:wrap;gap:1.6rem clamp(2rem,1.2rem + 2vw,3.2rem);margin-top:2.2rem}
.e-con.tt-stat{display:flex;flex-direction:column}
.e-con.tt-stats--inline > .e-con.tt-stat{--width:auto;width:auto;flex:0 0 auto}
.elementor-widget.tt-stat__value .elementor-heading-title{font-family:var(--tt-serif);font-weight:500;font-size:clamp(2.6rem,2rem + 1.8vw,3.4rem);line-height:1;color:var(--tt-acc-c);
  font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.01em}
.elementor-widget.tt-stat__label{margin-top:.55rem}
.elementor-widget.tt-stat__label .elementor-heading-title{font-family:var(--tt-sans);font-weight:400;font-size:.68rem;line-height:1.5;letter-spacing:.22em;text-transform:uppercase;color:var(--tt-muted)}
.e-con.tt-stats--band{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));border-block:1px solid var(--tt-line)}
.e-con.tt-stats--band > .e-con.tt-stat{align-items:center;text-align:center;padding:clamp(1.8rem,1.2rem + 1.8vw,3rem) 1rem;position:relative}
.e-con.tt-stats--band > .e-con.tt-stat + .e-con.tt-stat::before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:1px;background:var(--tt-line);display:block;height:auto;inset-inline-start:0}
.e-con.tt-stats--band .elementor-widget.tt-stat__value .elementor-heading-title{font-size:clamp(2.8rem,2rem + 2.6vw,4.4rem)}

/* krijtbord: zoals in elke showroom */
.e-con.tt-board{--tt-head:#F4EEE3;--tt-ink:#E7DFD2;--tt-muted:#D8CFC2;position:relative;padding:clamp(2.2rem,1.4rem + 3vw,4.4rem) clamp(1.6rem,1rem + 3vw,4rem) clamp(2.6rem,1.6rem + 3vw,4.6rem);
  color:#E7DFD2;border:clamp(10px,1.2vw,15px) solid var(--tt-hout);
  background:radial-gradient(120% 90% at 28% 18%,#3b342e 0%,#2d2823 46%,#25201c 100%);
  box-shadow:inset 0 0 70px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.04),0 30px 60px -38px rgba(46,39,33,.6);
  border-image:linear-gradient(135deg,#7a6450 0%,#5f4d3c 38%,#76614d 62%,#57473a 100%) 1}
.e-con.tt-board::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;mix-blend-mode:screen;display:block;
  background:radial-gradient(60% 40% at 70% 80%,rgba(255,255,255,.035),transparent 70%),radial-gradient(40% 30% at 20% 60%,rgba(255,255,255,.03),transparent 70%);
  top:0;left:0;width:100%;height:100%;border:0}
.elementor-widget.tt-board__title .elementor-heading-title{font-family:var(--tt-serif);font-weight:500;font-size:clamp(1.8rem,1.4rem + 1.2vw,2.35rem);line-height:1.1;color:#F4EEE3}
/* feedback 1472: geen krijtlijn meer onder de titel van het krijtbord */
.elementor-widget.tt-board__title::after{content:none;display:none}
.e-con.tt-board__steps{display:grid;gap:1.35rem;margin-top:1.9rem;counter-reset:tt-bord}
.e-con.tt-board__step{display:grid;grid-template-columns:3rem minmax(0,1fr);column-gap:1rem;counter-increment:tt-bord;position:relative}
.e-con.tt-board__step::after{content:counter(tt-bord);grid-column:1;grid-row:1 / span 2;font-family:var(--tt-serif);font-weight:500;font-size:2.35rem;line-height:.95;color:#D9B99A;order:-1}
.e-con.tt-board__step > .elementor-widget{grid-column:2}
.elementor-widget.tt-board__step-title .elementor-heading-title{font-family:var(--tt-serif);font-weight:500;font-size:clamp(1.25rem,1.1rem + .5vw,1.5rem);line-height:1.2;color:#F4EEE3}
.elementor-widget.tt-board__step-text{margin-top:.25rem;font-size:.95rem;line-height:1.6;color:#D8CFC2}
.elementor-widget.tt-board__step-text p{margin:0}
.elementor-widget.tt-board__note{margin-top:2rem;text-align:right}
.elementor-widget.tt-board__note .elementor-heading-title{font-family:var(--tt-sans);font-weight:400;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#CDBFA9}

/* ---------------------------------------------------------------- uitgelicht beeld met hotspots */
.e-con.tt-feature{position:relative;display:block;line-height:0}
.e-con.tt-feature__stage{position:relative;display:block;width:100%}
.e-con.tt-feature :is(.tt-feature__stage,.tt-feature) > .elementor-widget.tt-feature__img img,.e-con.tt-feature > .elementor-widget.tt-feature__img img{display:block;width:100%;height:auto;max-width:none}
/* hotspot = knopwidget: ronde "i" met pulsring, label als tooltip */
.elementor-widget.tt-hot{position:absolute;z-index:3;width:auto;line-height:1;transform:translate(-50%,-50%)}
.elementor-widget.tt-hot .elementor-button{position:relative;display:grid;place-items:center;width:2.4rem;height:2.4rem;min-height:0;padding:0;border:0;border-radius:50%;text-transform:none;letter-spacing:0;
  background:rgba(250,246,239,.95);color:var(--tt-espresso);box-shadow:0 8px 26px rgba(20,15,12,.3);font-size:0;cursor:pointer;
  transition:transform .45s var(--tt-ease),background-color .3s}
.elementor-widget.tt-hot .elementor-button::before{content:"";position:absolute;inset:0;margin:auto;width:2.3rem;height:2.3rem;background:var(--tt-espresso);-webkit-mask:var(--tt-ic-i) center/contain no-repeat;mask:var(--tt-ic-i) center/contain no-repeat;pointer-events:none}
.elementor-widget.tt-hot .elementor-button::after{content:"";position:absolute;inset:-.45rem;border-radius:50%;border:1px solid rgba(250,246,239,.9);pointer-events:none}
.tt-motion .elementor-widget.tt-hot .elementor-button::after{animation:tt-pulse 2.8s var(--tt-ease-out) infinite}
@keyframes tt-pulse{0%{transform:scale(.72);opacity:1}100%{transform:scale(1.65);opacity:0}}
.elementor-widget.tt-hot .elementor-button:hover,.elementor-widget.tt-hot .elementor-button:focus-visible{transform:scale(1.08);background:#fff}
.elementor-widget.tt-hot .elementor-button-content-wrapper{position:static}
.elementor-widget.tt-hot .elementor-button-text{position:absolute;left:calc(100% + .8rem);top:50%;translate:-6px -50%;white-space:nowrap;pointer-events:none;
  padding:.72em .95em;background:var(--tt-ivoor);color:var(--tt-espresso);font-family:var(--tt-sans);font-weight:500;font-size:.68rem;line-height:1;
  letter-spacing:.16em;text-transform:uppercase;box-shadow:0 10px 28px -12px rgba(20,15,12,.45);opacity:0;transition:opacity .3s var(--tt-ease),translate .3s var(--tt-ease)}
.elementor-widget.tt-hot--left .elementor-button-text,.elementor-widget.tt-hot.is-flip .elementor-button-text{left:auto;right:calc(100% + .8rem);translate:6px -50%}
.elementor-widget.tt-hot .elementor-button:hover .elementor-button-text,.elementor-widget.tt-hot .elementor-button:focus-visible .elementor-button-text,
.elementor-widget.tt-hot.is-tip .elementor-button-text{opacity:1;translate:0 -50%}
.elementor-widget.tt-hot .elementor-button-content-wrapper::after{display:none!important}

/* ---------------------------------------------------------------- teasers (greep uit de showroom) */
.e-con.tt-teaser{display:flex;flex-direction:column}
.e-con.tt-teaser__stage{position:relative;aspect-ratio:1;overflow:hidden;background:var(--tt-zand2)}
.e-con.tt-teaser__stage > .elementor-widget.tt-teaser__img{height:100%}
.e-con.tt-teaser__stage > .elementor-widget.tt-hot--corner{top:1.35rem;right:1.35rem;left:auto;transform:none}
.e-con.tt-teaser__stage > .elementor-widget.tt-hot--corner .elementor-button-text{left:auto;right:calc(100% + .8rem);translate:6px -50%}
.e-con.tt-teaser__stage > .elementor-widget.tt-hot--corner .elementor-button:hover .elementor-button-text,
.e-con.tt-teaser__stage > .elementor-widget.tt-hot--corner .elementor-button:focus-visible .elementor-button-text{translate:0 -50%}
.elementor-widget.tt-teaser__title{margin-top:1.3rem}
.elementor-widget.tt-teaser__title .elementor-heading-title{font-family:var(--tt-serif);font-weight:500;font-size:clamp(1.35rem,1.2rem + .5vw,1.6rem);line-height:1.18;color:var(--tt-head)}
.elementor-widget.tt-teaser__text{margin-top:.35rem;font-size:.92rem;line-height:1.6;color:var(--tt-muted)}
.elementor-widget.tt-teaser__text p{margin:0}
.elementor-widget.tt-teaser__where{margin-top:1rem}
.elementor-widget.tt-teaser__where .elementor-heading-title{font-family:var(--tt-sans);font-weight:400;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;line-height:1}
.elementor-widget.tt-teaser__where .elementor-heading-title :is(a,span){display:inline-flex;align-items:center;gap:.6em;padding:.6em .8em;border:1px solid var(--tt-line);color:var(--tt-acc-c);text-decoration:none;transition:border-color .3s,color .3s}
.elementor-widget.tt-teaser__where .elementor-heading-title a::before{content:"";width:.95em;height:.95em;background:currentColor;-webkit-mask:var(--tt-pin) center/contain no-repeat;mask:var(--tt-pin) center/contain no-repeat}
.elementor-widget.tt-teaser__where .elementor-heading-title a:hover{border-color:var(--tt-acc-c);color:var(--tt-roest)}

/* ---------------------------------------------------------------- stappen */
.e-con.tt-steps{counter-reset:tt-step;gap:clamp(2rem,1.5rem + 1.5vw,2.75rem) var(--tt-gap)}
.e-con.tt-step{display:flex;flex-direction:column;counter-increment:tt-step;padding-top:1.35rem}
.elementor-widget.tt-step__title::before{content:counter(tt-step,decimal-leading-zero);display:block;margin-bottom:.9rem;font-family:var(--tt-serif);font-weight:500;
  font-size:2.1rem;line-height:1;color:var(--tt-roest);font-variant-numeric:lining-nums}
.tt-bg-dark .elementor-widget.tt-step__title::before{color:var(--tt-taupe)}
.elementor-widget.tt-step__title .elementor-heading-title{font-family:var(--tt-serif);font-weight:500;font-size:clamp(1.3rem,1.18rem + .45vw,1.55rem);line-height:1.2;color:var(--tt-head)}
.elementor-widget.tt-step__text{margin-top:.45rem;font-size:.93rem;line-height:1.62;color:var(--tt-muted)}
.elementor-widget.tt-step__text p{margin:0}

/* ---------------------------------------------------------------- band (spanje, beeld, donker) */
.e-con.tt-band{--padding-top:0px;--padding-bottom:0px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;min-height:clamp(28rem,68svh,42rem);background:var(--tt-bg)}
.e-con.tt-band--spain,.e-con.tt-band--image{--tt-head:#fff;--tt-ink:rgba(255,255,255,.9);--tt-muted:rgba(255,255,255,.86);--tt-acc-c:var(--tt-licht);--tt-kick:var(--tt-licht);--tt-line:rgba(255,255,255,.4);--tt-line-strong:rgba(255,255,255,.7);background:var(--tt-nacht)}
.e-con.tt-band > .e-con.tt-band__media{position:absolute;inset:0;z-index:0;width:100%;height:100%}
.e-con.tt-band__media > .elementor-widget{height:100%}
.e-con.tt-band__media img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--tt-pos,50% 55%)}
.e-con.tt-band--spain::after,.e-con.tt-band--image::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none}
.e-con.tt-band--spain::after{background:linear-gradient(90deg,rgba(24,17,13,.8) 0%,rgba(24,17,13,.52) 38%,rgba(24,17,13,.14) 72%,rgba(24,17,13,.06) 100%)}
.e-con.tt-band--image::after{background:linear-gradient(180deg,rgba(24,17,13,.34),rgba(24,17,13,.58))}
.e-con.tt-band > .e-con.tt-band__inner{position:relative;z-index:2;--padding-top:clamp(4.5rem,3rem + 5vw,8rem);--padding-bottom:clamp(4.5rem,3rem + 5vw,8rem);align-items:flex-start}
.e-con.tt-band--spain .tt-band__inner > .elementor-widget{width:min(100%,36rem)}
.e-con.tt-band--spain .elementor-widget.tt-h2 .elementor-heading-title{max-width:13.5ch}
.e-con.tt-band--image > .e-con.tt-band__inner,.e-con.tt-band--dark > .e-con.tt-band__inner{align-items:center;text-align:center}
.e-con.tt-band--image .e-con.tt-ctas,.e-con.tt-band--dark .e-con.tt-ctas{justify-content:center}
.e-con.tt-band--dark{min-height:0}
.e-con.tt-band--dark .elementor-widget.tt-h2 .elementor-heading-title,.e-con.tt-band--image .elementor-widget.tt-h2 .elementor-heading-title{max-width:20ch;margin-inline:auto}
.elementor-widget.tt-band__text{margin-top:1.3rem;width:min(100%,34rem);font-size:var(--tt-fs-lead);line-height:1.7;color:var(--tt-ink)}
.elementor-widget.tt-band__text p{margin:0 0 .8em}
.elementor-widget.tt-chips{margin-top:1.7rem}
.tt-chiplist{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;margin:0;padding:0}
.e-con.tt-band--image .tt-chiplist,.e-con.tt-band--dark .tt-chiplist{justify-content:center}
.tt-chiplist li{margin:0;padding:.62em 1.05em;border:1px solid var(--tt-line);font-family:var(--tt-sans);font-weight:400;font-size:.7rem;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:var(--tt-ink)}
.tt-chiplist li::before{display:none}

/* ---------------------------------------------------------------- video */
.e-con.tt-videobox{display:flex;flex-direction:column;position:relative}
.e-con.tt-videobox--single{max-width:62rem;margin-inline:auto}
.elementor-widget.tt-video{position:relative;width:100%;background:var(--tt-nacht)}
.elementor-widget.tt-video :is(.elementor-wrapper,.e-hosted-video){aspect-ratio:16/9;background:var(--tt-nacht)}
.elementor-widget.tt-video video{display:block;width:100%;height:100%;object-fit:cover;background:var(--tt-nacht)}
body.tt-site .tt-play{position:absolute;inset:0;z-index:2;display:grid;place-items:center;width:100%;height:100%;border:0;border-radius:0;padding:0;margin:0;
  background:linear-gradient(180deg,rgba(20,15,12,0) 40%,rgba(20,15,12,.38));color:var(--tt-espresso);cursor:pointer;font-size:0;letter-spacing:0;box-shadow:none}
body.tt-site .tt-play:hover,body.tt-site .tt-play:focus{background:linear-gradient(180deg,rgba(20,15,12,0) 30%,rgba(20,15,12,.45));color:var(--tt-espresso);border:0}
.tt-play span{display:grid;place-items:center;width:clamp(3.8rem,3rem + 2.4vw,5.2rem);height:clamp(3.8rem,3rem + 2.4vw,5.2rem);border-radius:50%;background:rgba(250,246,239,.94);
  box-shadow:0 18px 40px -16px rgba(20,15,12,.6);transition:transform .5s var(--tt-ease),background-color .3s}
.tt-play span::before{content:"";width:34%;height:34%;margin-left:6%;background:var(--tt-espresso);-webkit-mask:var(--tt-play) center/contain no-repeat;mask:var(--tt-play) center/contain no-repeat}
.tt-play:hover span,.tt-play:focus-visible span{transform:scale(1.07);background:#fff}
/* video-lightbox (feedback Dario 29/09): geen label meer op de speelknop */
.tt-vlb{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:clamp(16px,4vw,64px);background:rgba(20,15,12,.9);opacity:0;transition:opacity .35s var(--tt-ease)}
.tt-vlb.is-open{opacity:1}
.tt-vlb__box{width:min(100%,calc((100vh - 8rem) * 16 / 9),1280px);aspect-ratio:16/9;background:#000;box-shadow:0 30px 80px -20px rgba(0,0,0,.6)}
.tt-vlb__box video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
body.tt-site .tt-vlb__close{position:absolute;top:calc(env(safe-area-inset-top,0px) + 14px);right:14px;display:grid;place-items:center;width:3rem;height:3rem;min-height:0;padding:0;border:1px solid rgba(250,246,239,.5);border-radius:50%;background:transparent;color:var(--tt-ivoor);cursor:pointer;transition:background-color .3s,color .3s}
body.tt-site .tt-vlb__close:hover,body.tt-site .tt-vlb__close:focus-visible{background:var(--tt-ivoor);color:var(--tt-espresso)}
.tt-vlb__close span{width:1.3rem;height:1.3rem;background:currentColor;-webkit-mask:var(--tt-x) center/contain no-repeat;mask:var(--tt-x) center/contain no-repeat}
html.tt-vlb-open{overflow:hidden}
.is-playing > .tt-play{display:none}
.elementor-widget.tt-video__caption{margin-top:1rem}
.elementor-widget.tt-video__caption .elementor-heading-title{display:flex;align-items:center;gap:.9rem;font-family:var(--tt-sans);font-weight:400;font-size:.7rem;line-height:1.5;letter-spacing:.18em;text-transform:uppercase;color:var(--tt-muted)}
.elementor-widget.tt-video__caption .elementor-heading-title::before{content:"";width:1.6rem;height:1px;background:var(--tt-line-strong);flex:0 0 auto}
.elementor-widget.tt-video__text{width:min(100%,44rem);margin:1.8rem auto 0;text-align:center}

/* ---------------------------------------------------------------- brochure */
.e-con.tt-brochure{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:var(--tt-gap-lg);align-items:center;
  padding:clamp(1.75rem,1rem + 3.4vw,4rem);border:1px solid var(--tt-line);background:var(--tt-card)}
.tt-bg-ivoor .e-con.tt-brochure{background:#fff}
.e-con.tt-brochure__cover{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--tt-espresso);box-shadow:clamp(12px,1.6vw,24px) clamp(12px,1.6vw,24px) 0 var(--tt-zand);
  width:min(100%,24rem);justify-self:center;transition:transform .8s var(--tt-ease)}
.e-con.tt-brochure__cover::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;display:block;
  background:linear-gradient(90deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,.05) 3.5%,rgba(255,255,255,.07) 5%,rgba(0,0,0,0) 9%),linear-gradient(180deg,rgba(20,15,12,.05) 40%,rgba(20,15,12,.72));
  top:0;left:0;width:100%;height:100%;border:0;opacity:1;mix-blend-mode:normal}
.e-con.tt-brochure__cover::after{content:"";position:absolute;inset:.85rem;z-index:3;border:1px solid rgba(250,246,239,.3);pointer-events:none}
.e-con.tt-brochure__cover > .elementor-widget.tt-brochure__img{position:absolute;inset:0;height:100%}
.e-con.tt-brochure__cover > .elementor-widget.tt-brochure__img img{width:100%;height:100%;max-width:none;object-fit:cover;opacity:.9}
.elementor-widget.tt-brochure__title{position:absolute;left:1.8rem;right:1.8rem;bottom:1.8rem;z-index:4}
.elementor-widget.tt-brochure__title .elementor-heading-title{font-family:var(--tt-serif);font-weight:500;font-size:clamp(1.55rem,1.2rem + 1.1vw,2.1rem);line-height:1.08;color:var(--tt-ivoor)}
.elementor-widget.tt-brochure__brand{position:absolute;left:1.8rem;top:1.8rem;z-index:4}
.elementor-widget.tt-brochure__brand .elementor-heading-title{font-family:var(--tt-sans);font-weight:400;font-size:.62rem;letter-spacing:.42em;text-transform:uppercase;color:rgba(250,246,239,.86)}
.e-con.tt-brochure:hover .e-con.tt-brochure__cover{transform:translateY(-6px) rotate(-.6deg)}
.e-con.tt-brochure__body{display:flex;flex-direction:column;align-items:flex-start;max-width:34rem}

/* ---------------------------------------------------------------- lopende tekst (richtext) + inhoudstafel */
.e-con.tt-rich{display:grid;grid-template-columns:minmax(0,1fr);max-width:48rem;margin-inline:auto}
.e-con.tt-rich.has-toc{grid-template-columns:minmax(12rem,15rem) minmax(0,46rem);gap:clamp(2.5rem,1rem + 4vw,5.5rem);max-width:none;justify-content:center}
.e-con.tt-rich__body{display:flex;flex-direction:column}
.e-con.tt-rich__body > .e-con.tt-head{margin-bottom:2rem}
.e-con.tt-toc{position:sticky;top:calc(var(--tt-hdr-h,100px) + 1.5rem);align-self:start;padding-top:1rem;border-top:1px solid var(--tt-line-strong)}
.elementor-widget.tt-toc__title .elementor-heading-title{font-family:var(--tt-sans);font-weight:400;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--tt-kick)}
.elementor-widget.tt-toc__list{margin-top:1rem}
.elementor-widget.tt-toc__list ol{list-style:none;margin:0;padding:0;display:grid;gap:.15rem;counter-reset:tt-toc}
.elementor-widget.tt-toc__list li{counter-increment:tt-toc;margin:0}
.elementor-widget.tt-toc__list a{display:grid;grid-template-columns:1.9rem 1fr;padding:.45rem 0;font-size:.9rem;line-height:1.4;text-decoration:none;color:var(--tt-muted);transition:color .3s}
.elementor-widget.tt-toc__list a::before{content:counter(tt-toc,decimal-leading-zero);font-size:.66rem;letter-spacing:.14em;color:var(--tt-taupe);padding-top:.2rem}
.elementor-widget.tt-toc__list a:hover,.elementor-widget.tt-toc__list a.is-active{color:var(--tt-head)}
/* leestypografie */
.elementor-widget.tt-prose--rich{margin-top:0;width:min(100%,44rem);font-size:clamp(1.02rem,.98rem + .18vw,1.1rem);line-height:1.78}
.tt-prose p,.tt-prose li{color:var(--tt-ink)}
.tt-prose p{margin:0 0 1.15em}
.tt-prose > p:first-child{font-size:1.08em}
.tt-prose h3{font-family:var(--tt-serif);font-weight:500;font-size:clamp(1.55rem,1.3rem + .9vw,2.05rem);line-height:1.14;color:var(--tt-head);margin:2.1em 0 .55em;scroll-margin-top:calc(var(--tt-hdr-h,100px) + 1.5rem)}
.tt-prose h4{font-family:var(--tt-serif);font-weight:500;font-size:var(--tt-fs-h4);line-height:1.25;color:var(--tt-head);margin:1.8em 0 .45em}
.tt-prose :is(h3,h4):first-child{margin-top:0}
.tt-prose a{color:var(--tt-head);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;text-decoration-color:rgba(168,90,52,.55);transition:color .3s,text-decoration-color .3s}
.tt-prose a:hover{color:var(--tt-roest);text-decoration-color:currentColor}
.tt-prose ul,.tt-prose ol{margin:0 0 1.3em;padding:0;list-style:none}
.tt-prose li{position:relative;margin:0 0 .55em;padding-left:1.55em}
.tt-prose ul > li::before{content:"";position:absolute;left:.25em;top:.72em;width:.36em;height:.36em;border-radius:50%;background:var(--tt-acc-c)}
.tt-prose ol{counter-reset:tt-ol}
.tt-prose ol > li{counter-increment:tt-ol;padding-left:2.1em}
.tt-prose ol > li::before{content:counter(tt-ol) ".";position:absolute;left:0;top:-.08em;font-family:var(--tt-serif);font-weight:500;font-size:1.2em;color:var(--tt-acc-c);font-variant-numeric:lining-nums}
.tt-prose blockquote{margin:1.8em 0;padding:0 0 0 1.4em;border-left:1px solid var(--tt-acc-c);font-family:var(--tt-serif);font-weight:500;font-size:1.35em;line-height:1.35;color:var(--tt-head)}
.tt-prose hr{border:0;height:1px;background:var(--tt-line);margin:2.4em 0}
.tt-prose strong{font-weight:500;color:var(--tt-head)}
.tt-prose img{height:auto;margin:1.6em 0}

/* ---------------------------------------------------------------- tabellen (sectie + in lopende tekst) */
.tt-table__scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0}
.tt-table__scroll:focus-visible{outline:2px solid var(--tt-roest);outline-offset:4px}
.tt-sec :is(.tt-table,.tt-prose) table{width:100%;border-collapse:collapse;border-spacing:0;margin:0;font-size:.95rem;line-height:1.5;background:transparent}
.tt-sec :is(.tt-table,.tt-prose) :is(th,td){padding:1rem 1.25rem 1rem 0;border:0;border-bottom:1px solid var(--tt-line);text-align:left;vertical-align:top;background:transparent;color:var(--tt-ink)}
.tt-sec :is(.tt-table,.tt-prose) :is(th,td):last-child{padding-right:0}
body.tt-site .tt-sec :is(.tt-table,.tt-prose) thead th{padding-top:0;border-top:0;padding-bottom:.9rem;font-family:var(--tt-sans);font-weight:400;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tt-muted);border-bottom:1px solid var(--tt-line-strong)}
.tt-sec :is(.tt-table,.tt-prose) tbody th{font-weight:500;color:var(--tt-head)}
.tt-sec :is(.tt-table,.tt-prose) tbody tr:nth-child(odd) > :is(td,th),.tt-sec :is(.tt-table,.tt-prose) tbody tr:hover > :is(td,th){background:transparent}
.tt-table__scroll > table{min-width:100%}
.tt-table__scroll > table:has(tr > :nth-child(4)){min-width:36rem}
.tt-table__note{margin:1rem 0 0;font-size:var(--tt-fs-xs);line-height:1.6;color:var(--tt-muted)}
.tt-prose .tt-table__note{margin:-1rem 0 1.9em}
.tt-sec :is(.tt-table,.tt-prose) caption{caption-side:bottom;padding-top:1rem;text-align:left;font-size:var(--tt-fs-xs);color:var(--tt-muted)}
.tt-sec--table .tt-head{max-width:48rem}
.tt-prose .tt-table__scroll,.tt-prose > table{margin:1.6em 0 1.9em}

/* ---------------------------------------------------------------- lopende band (marquee) */
.e-con.tt-sec--marquee{--padding-top:0px;--padding-bottom:0px;border-block:1px solid var(--tt-line);overflow:hidden}
.elementor-widget.tt-marquee__kicker{text-align:center;padding-top:1.4rem;margin-bottom:0}
.elementor-widget.tt-marquee{overflow:hidden;padding-block:clamp(1.3rem,1rem + 1vw,2rem);--tt-mq-dur:45s}
.tt-marquee__list{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 0;margin:0;padding:0 var(--tt-gutter);list-style:none;width:max-content;max-width:none}
.tt-marquee:not(.is-running) .tt-marquee__list{width:auto}
.tt-marquee__list li{display:flex;align-items:center;margin:0;padding:0;font-family:var(--tt-serif);font-weight:500;font-size:clamp(1.45rem,1.15rem + 1.2vw,2.3rem);line-height:1.2;color:var(--tt-head);white-space:nowrap}
.tt-marquee__list li::after{content:"";width:.34rem;height:.34rem;margin:0 clamp(1.4rem,1rem + 1.6vw,2.6rem);border-radius:50%;background:var(--tt-acc-c);flex:0 0 auto}
.tt-marquee:not(.is-running) .tt-marquee__list li:last-child::after{display:none}
.tt-marquee.is-running .tt-marquee__list{flex-wrap:nowrap;justify-content:flex-start;padding:0;animation:tt-marquee var(--tt-mq-dur) linear infinite}
.tt-marquee.is-running:hover .tt-marquee__list,.tt-marquee.is-paused .tt-marquee__list{animation-play-state:paused}
@keyframes tt-marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(var(--tt-mq-shift,-50%),0,0)}}

/* ---------------------------------------------------------------- slot-CTA */
.e-con.tt-cta{--padding-top:0px;--padding-bottom:0px;overflow:hidden}
.e-con.tt-cta:not(.has-media){background:var(--tt-bg)}
.e-con.tt-cta > .e-con.tt-cta__inner{position:relative;z-index:2;align-items:center;text-align:center;--padding-top:var(--tt-sec-y);--padding-bottom:var(--tt-sec-y)}
.e-con.tt-cta .elementor-widget.tt-h2 .elementor-heading-title{font-size:clamp(2.3rem,1.5rem + 3vw,4.4rem);line-height:1.04}
.e-con.tt-cta .elementor-widget.tt-h2 .elementor-heading-title{max-width:18ch;margin-inline:auto}
.e-con.tt-cta .elementor-widget.tt-cta__text{margin-inline:auto}
.e-con.tt-cta .e-con.tt-ctas{justify-content:center}
.e-con.tt-cta.has-media{--tt-head:#fff;--tt-ink:rgba(255,255,255,.9);--tt-muted:rgba(255,255,255,.86);--tt-acc-c:var(--tt-licht);--tt-kick:var(--tt-licht);--tt-line-strong:rgba(255,255,255,.7);background:var(--tt-nacht)}
.e-con.tt-cta.has-media > .e-con.tt-cta__media{position:absolute;inset:0;z-index:0;height:100%}
.e-con.tt-cta__media > .elementor-widget{height:100%}
.e-con.tt-cta__media img{display:block;width:100%;height:100%;max-width:none;object-fit:cover}
.e-con.tt-cta.has-media::after{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(90% 80% at 50% 50%,rgba(24,17,13,.5),rgba(24,17,13,.72));pointer-events:none}
.e-con.tt-cta:not(.has-media) > .e-con.tt-cta__inner::before{content:"";position:relative;top:auto;left:auto;width:1px;height:clamp(2.5rem,2rem + 2vw,4rem);border:0;opacity:1;background:var(--tt-line-strong);margin-bottom:2.2rem;display:block}

/* ---------------------------------------------------------------- kaarten */
a.e-con.tt-card,.e-con.tt-card{display:flex;flex-direction:column;color:inherit;position:relative}
.e-con.tt-card__ph{aspect-ratio:3/2;overflow:hidden;background:var(--tt-zand2);margin-bottom:1.3rem}
.e-con.tt-card.has-ico{padding:clamp(1.6rem,1.2rem + 1.2vw,2.3rem);border:1px solid var(--tt-line);background:var(--tt-card)}
.tt-bg-ivoor .e-con.tt-card.has-ico{background:#fff}
a.e-con.tt-card.has-ico:hover{border-color:var(--tt-acc-c)}
.e-con.tt-card:not(.has-img):not(.has-ico){padding-top:1.3rem;background-image:linear-gradient(var(--tt-line-strong),var(--tt-line-strong));background-size:100% 1px;background-repeat:no-repeat}
.elementor-widget.tt-card__title .elementor-heading-title{font-family:var(--tt-serif);font-weight:500;font-size:clamp(1.35rem,1.2rem + .55vw,1.65rem);line-height:1.18;color:var(--tt-head);transition:color .35s}
.elementor-widget.tt-card__text{margin-top:.5rem;font-size:.93rem;line-height:1.62;color:var(--tt-muted)}
.elementor-widget.tt-card__text p{margin:0 0 .6em}
.elementor-widget.tt-card__more{margin-top:auto;padding-top:1.3rem}
.elementor-widget.tt-card__more .elementor-heading-title{display:inline-flex;align-items:center;gap:.7em;font-family:var(--tt-sans);font-weight:500;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tt-head)}
.elementor-widget.tt-card__more .elementor-heading-title::after{content:"";width:1.1em;height:1.1em;background:currentColor;-webkit-mask:var(--tt-arrow) center/contain no-repeat;mask:var(--tt-arrow) center/contain no-repeat;transition:transform .38s var(--tt-ease)}
a.e-con.tt-card:hover .tt-card__more .elementor-heading-title::after{transform:translateX(4px)}
a.e-con.tt-card:hover .tt-card__title .elementor-heading-title{color:var(--tt-roest)}

/* ---------------------------------------------------------------- citaat (enkel letterlijke, echte citaten) */
.elementor-widget.tt-quote{width:min(100%,52rem);margin-inline:auto;text-align:center}
.tt-quote__fig{margin:0}
.tt-quote__fig blockquote{margin:0;padding:0;border:0;quotes:"\201C" "\201D"}
.tt-quote__fig blockquote::before{content:open-quote;display:block;height:.62em;margin-bottom:.1em;font-family:var(--tt-serif);font-weight:500;font-size:clamp(4.5rem,3.5rem + 3vw,7rem);line-height:1;color:var(--tt-acc-c)}
.tt-quote__fig blockquote p{margin:0;font-family:var(--tt-serif);font-weight:500;font-size:clamp(1.65rem,1.2rem + 1.7vw,2.7rem);line-height:1.24;letter-spacing:-.01em;color:var(--tt-head);text-wrap:balance}
.tt-quote__fig figcaption{margin-top:2rem;font-family:var(--tt-sans);font-weight:400;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tt-muted)}
.tt-quote__fig figcaption cite{font-style:normal}
.tt-quote__author{color:var(--tt-head)}

/* ---------------------------------------------------------------- dynamische blokken (data): enkel ruimte */
.elementor-widget.tt-dyn{width:100%}
.tt-sec--leadform .e-con.tt-head{max-width:40rem}
.tt-sec--leadform .elementor-widget.tt-dyn{width:min(100%,50rem);margin-inline:auto}

/* ==========================================================================
   LEADPANEEL, FORMULIEREN, NIEUWSBRIEF (markup: inc/40-lead-ui.php, gedrag: tt.js)
   ========================================================================== */
dialog.tt-leadpanel{position:fixed;inset:0 0 0 auto;width:min(34rem,100%);max-width:100%;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;
  background:var(--tt-ivoor);color:var(--tt-espresso);box-shadow:-30px 0 80px -40px rgba(20,15,12,.55);overflow:hidden;
  transform:translateX(100%);transition:transform .6s var(--tt-ease-out),display .6s allow-discrete,overlay .6s allow-discrete;font-family:var(--tt-sans);font-weight:300;font-size:1rem;line-height:1.6}
dialog.tt-leadpanel[open]{transform:none}
@starting-style{dialog.tt-leadpanel[open]{transform:translateX(100%)}}
dialog.tt-leadpanel.is-closing{transform:translateX(100%)}
dialog.tt-leadpanel::backdrop{background:rgba(28,22,18,.5);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:1;transition:opacity .5s var(--tt-ease),display .5s allow-discrete,overlay .5s allow-discrete}
@starting-style{dialog.tt-leadpanel[open]::backdrop{opacity:0}}
dialog.tt-leadpanel.is-closing::backdrop{opacity:0}
html:has(dialog.tt-leadpanel[open]){overflow:hidden;scrollbar-gutter:stable}
.tt-lead__scroll{height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;
  padding:clamp(1.6rem,1.2rem + 1.6vw,2.6rem) clamp(1.25rem,.9rem + 1.8vw,2.6rem) calc(2.5rem + env(safe-area-inset-bottom,0px))}
.tt-leadpanel [hidden],.tt-leadform [hidden],.tt-news [hidden],.tt-play[hidden]{display:none!important}
/* sluitknop (ook tegen de Kit-stijl voor <button>) */
body.tt-site .tt-lead__close,body.tt-site .tt-lead__close:hover,body.tt-site .tt-lead__close:focus{position:absolute;top:.85rem;right:.85rem;z-index:5;display:grid;place-items:center;width:2.75rem;height:2.75rem;
  padding:0;margin:0;border:0;border-radius:50%;background:transparent;color:var(--tt-espresso);cursor:pointer;box-shadow:none;font-size:0;letter-spacing:0;transition:background-color .3s}
body.tt-site .tt-lead__close:hover,body.tt-site .tt-lead__close:focus-visible{background:var(--tt-zand2)}
.tt-lead__close svg{width:1.25rem;height:1.25rem;transition:transform .5s var(--tt-ease)}
.tt-lead__close:hover svg{transform:rotate(90deg)}
body.tt-site .tt-lead__title:focus,body.tt-site .tt-lead__title:focus-visible,body.tt-site .tt-done:focus,body.tt-site .tt-done:focus-visible{outline:0}
/* kop */
.tt-leadpanel .tt-kicker{margin:0 0 .9rem}
.tt-lead__title{margin:0 3rem 0 0;font-family:var(--tt-serif);font-weight:500;font-size:clamp(2rem,1.65rem + 1.1vw,2.55rem);line-height:1.06;color:var(--tt-espresso);letter-spacing:-.012em}
.tt-lead__sub{margin:.95rem 0 0;max-width:27rem;font-size:.95rem;line-height:1.62;color:var(--tt-espresso2)}
.tt-lead__ctx{position:relative;margin:1.15rem 0 0;padding:.85rem 1rem .85rem 2.6rem;background:var(--tt-zand2);border-left:1px solid var(--tt-walnoot);font-size:.9rem;line-height:1.5;color:var(--tt-espresso2)}
.tt-lead__ctx::before{content:"";position:absolute;left:1rem;top:1.02rem;width:1.05rem;height:1.05rem;background:var(--tt-walnoot);-webkit-mask:var(--tt-info) center/contain no-repeat;mask:var(--tt-info) center/contain no-repeat}
.tt-lead__ctx b{font-weight:500;color:var(--tt-espresso)}
/* keuzetegels */
.tt-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:1.6rem 0 0;padding:0;border:0;min-width:0}
.tt-opts > .tt-opt:last-child:nth-child(even){grid-column:1 / -1}
.tt-opt{position:relative;display:grid;grid-template-columns:1.5rem minmax(0,1fr);gap:.2rem .75rem;align-items:start;padding:.9rem .95rem;border:1px solid var(--tt-lijn);background:#fff;
  cursor:pointer;transition:border-color .3s,background-color .3s,box-shadow .3s;line-height:1.3;min-height:4.5rem;-webkit-tap-highlight-color:transparent}
.tt-opt:hover{border-color:rgba(46,39,33,.4)}
body.tt-site .tt-opt input{position:absolute;opacity:0;width:1px;height:1px;margin:0;padding:0;border:0;pointer-events:none}
.tt-opt__ico{grid-row:1 / span 2;width:1.5rem;height:1.5rem;background:var(--tt-walnoot);-webkit-mask:var(--tt-ico) center/contain no-repeat;mask:var(--tt-ico) center/contain no-repeat;margin-top:.05rem;transition:background-color .3s}
.tt-opts .tt-opt{text-transform:none;letter-spacing:0;font-family:var(--tt-sans);font-size:1rem;color:var(--tt-espresso)}
.tt-opt b{font-weight:500;font-size:.9rem;color:var(--tt-espresso)}
.tt-opt small{font-size:.74rem;line-height:1.4;color:var(--tt-espresso2)}
.tt-opt:has(input:checked){border-color:var(--tt-espresso);background:var(--tt-zand2);box-shadow:inset 0 0 0 1px var(--tt-espresso)}
.tt-opt:has(input:checked) .tt-opt__ico{background:var(--tt-roest)}
.tt-opt:has(input:focus-visible){outline:2px solid var(--tt-roest);outline-offset:2px}
.tt-lead__body{margin-top:1.75rem;padding-top:1.6rem;border-top:1px solid var(--tt-lijn)}
.tt-lead__note{margin:0 0 1.4rem;padding:.9rem 1rem;border-left:1px solid var(--tt-walnoot);background:var(--tt-zand2);font-size:.9rem;line-height:1.55;color:var(--tt-espresso2)}
.tt-lead__note a{color:var(--tt-espresso);font-weight:500;text-decoration:underline;text-underline-offset:.2em;white-space:nowrap}
/* formulier */
.tt-form{display:grid;gap:1.05rem;margin:0}
.tt-form[hidden],.tt-form [hidden]{display:none!important}
.tt-form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.05rem}
.tt-form__row.is-single,.tt-form__row:has(> .tt-field[hidden]){grid-template-columns:minmax(0,1fr)}
.tt-form__row:not(:has(> .tt-field:not([hidden]))){display:none}
.tt-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:1rem;row-gap:.35rem;min-width:0}
.tt-field > label,.tt-field > .tt-field__label{grid-column:1;display:block;min-width:0;font-size:.68rem;line-height:1.35;letter-spacing:.18em;text-transform:uppercase;color:var(--tt-espresso2);font-weight:400}
.tt-field .tt-req{margin-left:.35em;color:var(--tt-roest);letter-spacing:0}
.tt-field > .tt-opt-l{grid-column:2;justify-self:end;font-size:.72rem;line-height:1.35;text-transform:none;letter-spacing:.01em;color:var(--tt-hint)}
.tt-field > :is(input,select,textarea),.tt-field > .tt-field__err{grid-column:1 / -1}
body.tt-site .tt-form :is(input[type=text],input[type=email],input[type=tel],select,textarea){display:block;width:100%;margin:0;padding:.65em 0 .55em;border:0;border-bottom:1px solid rgba(46,39,33,.28);
  border-radius:0;background:transparent;font-family:var(--tt-sans);font-weight:300;font-size:1rem;line-height:1.45;letter-spacing:0;text-transform:none;color:var(--tt-espresso);
  box-shadow:none;transition:border-color .3s,box-shadow .3s;appearance:none;-webkit-appearance:none;min-height:0}
body.tt-site .tt-form select{padding-right:1.8rem;background:transparent var(--tt-chev) right .1rem center/.9rem no-repeat;cursor:pointer}
body.tt-site .tt-form select:has(option[value=""]:checked){color:var(--tt-hint)}
body.tt-site .tt-form select option{color:var(--tt-espresso)}
body.tt-site .tt-form textarea{min-height:5.2rem;resize:vertical;field-sizing:content;max-height:14rem}
body.tt-site .tt-form :is(input,select,textarea):hover{border-bottom-color:rgba(46,39,33,.55)}
body.tt-site .tt-form :is(input[type=text],input[type=email],input[type=tel],select,textarea):focus{outline:0;background-color:transparent;border-bottom-color:var(--tt-roest);box-shadow:0 1px 0 0 var(--tt-roest)}
body.tt-site .tt-form :is(input,select,textarea)[aria-invalid=true]{border-bottom-color:#A33A2A;box-shadow:0 1px 0 0 #A33A2A}
body.tt-site .tt-form ::placeholder{color:var(--tt-hint);opacity:1;font-weight:300}
.tt-field:focus-within > label{color:var(--tt-roest)}
.tt-field__err{font-size:.8rem;color:#A33A2A;line-height:1.4}
.tt-field__err:empty{display:none}
.tt-field--check{display:block}
.tt-field > label.tt-check,.tt-check{display:grid;grid-template-columns:1.2rem 1fr;gap:.75rem;align-items:start;font-family:var(--tt-sans);font-weight:300;font-size:.88rem;line-height:1.5;
  color:var(--tt-espresso2);cursor:pointer;text-transform:none;letter-spacing:0}
body.tt-site .tt-check input[type=checkbox]{appearance:none;-webkit-appearance:none;display:grid;place-items:center;width:1.2rem;height:1.2rem;margin:.12rem 0 0;padding:0;
  border:1px solid rgba(46,39,33,.4);border-radius:0;background:#fff;box-shadow:none;cursor:pointer}
body.tt-site .tt-check input[type=checkbox]::before{content:"";width:.78rem;height:.78rem;background:var(--tt-ivoor);-webkit-mask:var(--tt-vink) center/contain no-repeat;mask:var(--tt-vink) center/contain no-repeat;opacity:0;transition:opacity .2s}
body.tt-site .tt-check input[type=checkbox]:checked{background:var(--tt-espresso);border-color:var(--tt-espresso)}
body.tt-site .tt-check input[type=checkbox]:checked::before{opacity:1}
body.tt-site .tt-check input[type=checkbox]:focus-visible{outline:2px solid var(--tt-roest);outline-offset:2px}
.tt-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.tt-form__submit{display:flex;flex-direction:column;align-items:flex-start;gap:.95rem;margin-top:.35rem}
.tt-form__submit .tt-btn{width:100%}
.tt-form .tt-fine{font-size:.78rem;line-height:1.55;color:var(--tt-espresso2);margin:0}
.tt-form .tt-fine a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
.tt-form__alert{padding:.9rem 1rem;border-left:2px solid #A33A2A;background:#F6E9E4;font-size:.88rem;line-height:1.5;color:#5C2419}
.tt-form__alert a{text-decoration:underline}
.tt-form.is-busy .tt-btn,.tt-form.is-busy [data-submit]{opacity:.75;pointer-events:none}
.tt-form.is-busy .tt-btn::after{animation:tt-spin .9s linear infinite;-webkit-mask:var(--tt-spinner) center/contain no-repeat;mask:var(--tt-spinner) center/contain no-repeat;display:block}
@keyframes tt-spin{to{transform:rotate(360deg)}}
/* WhatsApp-stap (enkel met een nummer) */
.tt-wa-step{padding:1.25rem;border:1px solid var(--tt-lijn);background:#fff}
.tt-wa-step .tt-wa-step__intro{margin:0 0 1rem;font-size:.92rem;color:var(--tt-espresso2)}
.tt-wa-step .tt-wa-msg{margin:0 0 1.15rem;padding:.8rem 1rem;background:#EAF4EE;border-radius:0 12px 12px 12px;font-size:.88rem;line-height:1.5;color:#1F3B2D;white-space:pre-line}
/* bedankt */
.tt-done{padding:clamp(2.5rem,2rem + 4vw,4.5rem) 0 1rem;text-align:left}
.tt-done__mark{display:grid;place-items:center;width:3.6rem;height:3.6rem;margin-bottom:1.6rem;border-radius:50%;border:1px solid var(--tt-walnoot);color:var(--tt-walnoot)}
.tt-done__mark::before{content:"";width:1.4rem;height:1.4rem;background:currentColor;-webkit-mask:var(--tt-vink) center/contain no-repeat;mask:var(--tt-vink) center/contain no-repeat}
.tt-motion .tt-done:not([hidden]) .tt-done__mark{animation:tt-pop .7s var(--tt-ease-out) both}
@keyframes tt-pop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
.tt-done .tt-kicker{margin:0 0 .8rem}
.tt-done .tt-done__title{margin:0 0 .8rem;font-family:var(--tt-serif);font-weight:500;font-size:clamp(1.95rem,1.6rem + 1vw,2.5rem);line-height:1.08;color:var(--tt-espresso)}
.tt-done .tt-done__text{margin:0 0 1.8rem;color:var(--tt-espresso2);font-size:1rem;line-height:1.65;max-width:30rem}
.tt-done__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem}
body.tt-site .tt-lead__back,body.tt-site .tt-lead__back:hover,body.tt-site .tt-lead__back:focus{display:inline-flex;align-items:center;gap:.6rem;padding:.4rem 0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;
  font-family:var(--tt-sans);font-weight:500;font-size:.74rem;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;color:var(--tt-espresso2);cursor:pointer}
body.tt-site .tt-lead__back:hover,body.tt-site .tt-lead__back:focus-visible{color:var(--tt-roest)}
.tt-lead__back svg{width:1.1rem;height:1.1rem}
.tt-done:focus{outline:0}
/* inline formulier op landingspagina's */
.tt-leadform{position:relative;padding:clamp(1.5rem,1rem + 2.4vw,3rem);background:#fff;border:1px solid var(--tt-line)}
.tt-bg-zand .tt-leadform,.tt-bg-zand2 .tt-leadform{background:var(--tt-ivoor)}
.tt-leadform .tt-form__submit .tt-btn{width:auto;min-width:16rem}
.tt-leadform .tt-done{padding:1rem 0 .5rem}
.e-con.tt-leadform-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--tt-gap-lg);align-items:start}
.e-con.tt-leadform-grid__head{position:sticky;top:calc(var(--tt-hdr-h,96px) + 2rem)}
.e-con.tt-leadform-grid__head > .e-con.tt-head{margin-bottom:0}
.tt-leadform-grid .elementor-widget.tt-dyn{width:100%}
.tt-sec--leadform .e-con.tt-head{max-width:40rem}
.tt-leadform-sec--center .elementor-widget.tt-dyn--leadform{width:min(100%,50rem);margin-inline:auto}
/* nieuwsbrief */
.tt-news{max-width:40rem;margin-inline:auto;text-align:center}
.tt-news__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:0 0 1.6rem;padding:0;border:0;min-width:0}
.tt-news__chips legend{width:100%;margin-bottom:.9rem;padding:0;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tt-muted);font-weight:400}
.tt-news__chips .tt-field__err{flex-basis:100%}
body.tt-site .tt-chip,body.tt-site .tt-chip:focus{display:inline-flex;align-items:center;gap:.45em;padding:.6em 1.05em;margin:0;border:1px solid var(--tt-line);border-radius:999px;background:transparent;box-shadow:none;
  font-family:var(--tt-sans);font-weight:400;font-size:.84rem;line-height:1.2;letter-spacing:.01em;text-transform:none;color:var(--tt-ink);cursor:pointer;
  transition:background-color .3s,color .3s,border-color .3s;white-space:nowrap}
body.tt-site .tt-chip::before{content:"";width:.8em;height:.8em;background:currentColor;-webkit-mask:var(--tt-vink) center/contain no-repeat;mask:var(--tt-vink) center/contain no-repeat;display:none}
body.tt-site .tt-chip:hover,body.tt-site .tt-chip:focus-visible{border-color:var(--tt-line-strong);background:transparent;color:var(--tt-ink)}
body.tt-site .tt-chip[aria-pressed=true],body.tt-site .tt-chip[aria-pressed=true]:hover,body.tt-site .tt-chip[aria-pressed=true]:focus{background:var(--tt-espresso);color:var(--tt-ivoor);border-color:var(--tt-espresso)}
body.tt-site .tt-chip[aria-pressed=true]::before{display:block}
body.tt-site :is(.tt-bg-dark,.tt-news--footer) .tt-chip[aria-pressed=true]{background:var(--tt-ivoor);color:var(--tt-espresso);border-color:var(--tt-ivoor)}
.tt-news__row{display:flex;align-items:stretch;border-bottom:1px solid var(--tt-line-strong);transition:border-color .3s}
.tt-news__row:focus-within{border-color:var(--tt-roest)}
body.tt-site .tt-news__row input[type=email]{flex:1;min-width:0;border:0;background:transparent;box-shadow:none;padding:1rem .2rem;margin:0;border-radius:0;
  font-family:var(--tt-sans);font-weight:300;font-size:1.05rem;line-height:1.4;letter-spacing:0;text-transform:none;color:var(--tt-head);outline:0}
body.tt-site .tt-news__row input[type=email]:focus{border:0;box-shadow:none;background:transparent}
body.tt-site .tt-news__row input[type=email][aria-invalid=true]{box-shadow:none}
.tt-news__row:has(input[aria-invalid=true]){border-color:#A33A2A}
.tt-news__row input::placeholder{color:var(--tt-muted);opacity:.85}
body.tt-site .tt-news__row button,body.tt-site .tt-news__row button:hover,body.tt-site .tt-news__row button:focus{display:inline-flex;align-items:center;gap:.7em;border:0;background:transparent;color:var(--tt-head);padding:0 .2rem;margin:0;border-radius:0;box-shadow:none;
  font-family:var(--tt-sans);font-weight:500;font-size:.74rem;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
body.tt-site .tt-news__row button:hover,body.tt-site .tt-news__row button:focus-visible{color:var(--tt-roest)}
.tt-news__row button::after{content:"";width:1.1em;height:1.1em;background:currentColor;-webkit-mask:var(--tt-arrow) center/contain no-repeat;mask:var(--tt-arrow) center/contain no-repeat;transition:transform .38s var(--tt-ease)}
.tt-news__row button:hover::after{transform:translateX(4px)}
.tt-news .tt-field__err:not(:empty){display:block;margin-top:.6rem;text-align:left}
.tt-news--footer,.tt-news--footer .tt-form{--tt-head:currentColor;--tt-ink:currentColor;--tt-muted:rgba(250,246,239,.62);--tt-line:rgba(250,246,239,.22);--tt-line-strong:rgba(250,246,239,.5);text-align:left;margin:0;max-width:none}
.tt-news--footer .tt-news__chips{justify-content:flex-start}
.tt-news--panel{max-width:none;text-align:left;margin:0}
.tt-news--panel .tt-news__chips{justify-content:flex-start;margin-bottom:1.4rem}
.tt-news--panel .tt-news__chips legend{color:var(--tt-espresso2)}
.tt-news .tt-fine{margin-top:1rem;font-size:.78rem;line-height:1.55;color:var(--tt-muted)}
.tt-news .tt-form__alert{text-align:left;margin-top:1rem}
.tt-news .tt-done{text-align:center;padding:1rem 0}
.tt-news .tt-done__mark{margin-inline:auto}
.tt-news .tt-done .tt-done__title{font-size:clamp(1.6rem,1.35rem + .9vw,2.1rem)}
.tt-news .tt-done p{margin-inline:auto}
.tt-news--footer .tt-done,.tt-news--panel .tt-done{text-align:left}
.tt-news--footer .tt-done__mark,.tt-news--panel .tt-done__mark{margin-inline:0}
.tt-news--footer .tt-done .tt-done__title{color:inherit}

/* ==========================================================================
   BEDANKPAGINA · een blok per ?type= (tt.js), standaard zichtbaar zonder JS
   ========================================================================== */
.e-con.tt-thanks{display:flex;flex-direction:column;align-items:flex-start}
body:not(.elementor-editor-active) .e-con.tt-thanks:not(.is-default):not(.is-active){display:none}
html.tt-thanks-on body:not(.elementor-editor-active) .e-con.tt-thanks.is-default{display:none}
.tt-thanks .elementor-widget.tt-h1 .elementor-heading-title{font-size:clamp(2.5rem,1.7rem + 3.3vw,4.6rem);line-height:1.02}
.tt-thanks .tt-ctas{margin-top:2.1rem}
body.elementor-editor-active .e-con.tt-thanks{padding:1.2rem 0 1.4rem;border-top:1px dashed var(--tt-taupe)}
body.elementor-editor-active .e-con.tt-thanks::before{content:"Variant voor ?type= " attr(id);display:block;margin-bottom:.6rem;font:400 .66rem/1.4 var(--tt-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--tt-taupe)}

/* ==========================================================================
   KNOPPEN ONDER EEN BLOK · en afscherming tegen de Kit-stijl (button, .elementor-button, :focus)
   ========================================================================== */
.e-con.tt-ctas--after{margin-top:clamp(2.2rem,1.6rem + 1.6vw,3.2rem)}
.e-con.tt-ctas--center{justify-content:center}
body.tt-site .elementor-widget.tt-btn .elementor-button:focus:not(:focus-visible):not(:hover){color:var(--b-fg);background:var(--b-bg);border-color:var(--b-bd)}
body.tt-site .elementor-widget.tt-hot .elementor-button:focus:not(:focus-visible):not(:hover){background:rgba(250,246,239,.95);color:var(--tt-espresso)}
body.tt-site .tt-play:focus:not(:focus-visible){background:linear-gradient(180deg,rgba(20,15,12,0) 40%,rgba(20,15,12,.38));color:var(--tt-espresso);border:0}

/* ==========================================================================
   BEWEGING · enkel met html.tt-motion (JS zet dat, niet bij reduced motion of ?tt-static=1)
   ========================================================================== */
.tt-motion .tt-reveal,.tt-motion .tt-stagger > *{transition:opacity 1.15s var(--tt-ease-out),transform 1.15s var(--tt-ease-out),background-color .45s var(--tt-ease),border-color .4s var(--tt-ease),color .4s var(--tt-ease);transition-delay:calc(var(--tt-i,0) * 95ms)}
.tt-motion .tt-reveal:not(.is-in),.tt-motion .tt-stagger:not(.is-in) > *{opacity:0;transform:translate3d(0,28px,0)}
.tt-motion .tt-mask{clip-path:inset(0 0 0 0);transition:clip-path 1.5s var(--tt-ease-inout)}
.tt-motion .tt-mask:not(.is-in){clip-path:inset(100% 0 0 0)}
.tt-motion .tt-mask:not(.is-in) :is(img,video){scale:calc(var(--tt-base,1) * 1.16)}
.tt-motion .tt-mask :is(img,video){transition:scale 2.1s var(--tt-ease-out)}
/* Fase 4b (LCP): het beeld bovenaan een artikel of pagina (tt-art-figure, tt-pagehead__media) is het LCP-element.
   Geen gordijn (clip-path wacht op tt.js en duurt 1,5 s), enkel de rustige zoom. */
.tt-motion :is(.tt-art-figure,.tt-pagehead__media).tt-mask:not(.is-in){clip-path:inset(0 0 0 0)}
.tt-motion .tt-card-hover:hover .tt-mask.is-in img{scale:calc(var(--tt-base,1) * 1.05);transition-duration:1.4s}
.tt-motion .tt-rule{transition:background-size 1.5s var(--tt-ease-inout) .1s}
.tt-motion .tt-rule:not(.is-in){background-size:0% 1px}
/* hero: beeld zoomt langzaam uit, tekst schuift gestaffeld uit een masker omhoog */
@keyframes tt-zoom-out{from{scale:1.09}to{scale:1}}
@keyframes tt-rise{from{transform:translate3d(0,108%,0)}to{transform:translate3d(0,0,0)}}
@keyframes tt-fade-up{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:none}}
.tt-motion .tt-hero > .tt-hero__media :is(img,video){animation:tt-zoom-out 3.2s var(--tt-ease-out) both}
.tt-motion .tt-intro > *{animation:tt-fade-up 1.2s var(--tt-ease-out) both;animation-delay:calc(.28s + var(--tt-i,0) * .13s)}
.tt-motion .tt-intro > .tt-h1{animation:none;overflow:clip;padding-bottom:.1em;margin-bottom:-.1em}
.tt-motion .tt-intro > .tt-h1 .elementor-heading-title{animation:tt-rise 1.35s var(--tt-ease-out) both;animation-delay:calc(.28s + var(--tt-i,0) * .13s)}
.tt-motion .tt-intro > .tt-h1:not(.is-split) .elementor-heading-title{animation-play-state:paused}
.tt-motion .tt-intro > .tt-h1.is-split .elementor-heading-title{animation:none}
.tt-w{display:inline-block;overflow:clip;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.tt-w > span{display:inline-block}
.tt-motion .tt-intro > .tt-h1.is-split .tt-w > span{animation:tt-rise 1.3s var(--tt-ease-out) both;animation-delay:calc(.3s + var(--tt-wi,0) * 60ms)}
.tt-intro > :nth-child(1){--tt-i:0}.tt-intro > :nth-child(2){--tt-i:1}.tt-intro > :nth-child(3){--tt-i:2}
.tt-intro > :nth-child(4){--tt-i:3}.tt-intro > :nth-child(5){--tt-i:4}.tt-intro > :nth-child(6){--tt-i:5}
/* uit: statische modus en de editor */
html.tt-static *,html.tt-static *::before,html.tt-static *::after{animation-duration:0s!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;transition-delay:0s!important;scroll-behavior:auto!important}
@media (prefers-reduced-motion:reduce){
  .tt-hot .elementor-button::after,.tt-marquee__list,.elementor-widget.tt-scrollcue a::after{animation:none!important}
  .tt-card-hover:hover .tt-media img{scale:var(--tt-base,1)}
}
body.elementor-editor-active .tt-reveal,body.elementor-editor-active .tt-stagger > *{opacity:1!important;transform:none!important}
body.elementor-editor-active .tt-mask{clip-path:none!important}

/* ==========================================================================
   RESPONSIEF (tablet 1100 / 900, mobiel 640, klein 390)
   ========================================================================== */
@media (max-width:1100px){
  .e-con.tt-usps--5,.e-con.tt-usps--6{grid-template-columns:repeat(6,minmax(0,1fr))}
  .e-con.tt-usps--5 > .tt-usp{grid-column:span 2}.e-con.tt-usps--5 > .tt-usp:nth-child(n+4){grid-column:span 3}
  .e-con.tt-usps--6 > .tt-usp{grid-column:span 2}
  .e-con.tt-cols-4{--cols:2}
  .e-con.tt-steps.tt-cols-4{--cols:2}
}
@media (max-width:900px){
  .e-con.tt-split,.e-con.tt-brochure,.e-con.tt-pagehead__grid.has-media{grid-template-columns:minmax(0,1fr)}
  .e-con.tt-split--rev > .tt-split__text{order:0;justify-self:start}
  .e-con.tt-split__text{max-width:none}
  .e-con.tt-split__media:not(.tt-split__media--board):not(.tt-split__media--video){aspect-ratio:4/3}
  .e-con.tt-cols-3{--cols:2}
  .e-con.tt-rich.has-toc{grid-template-columns:minmax(0,1fr);gap:2.5rem}
  .e-con.tt-toc{position:static}
  .e-con.tt-brochure__cover{width:min(78%,20rem)}
  .e-con.tt-usps--3,.e-con.tt-usps--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .e-con.tt-usps--3 > .tt-usp:last-child{grid-column:1 / -1}
  .e-con.tt-leadform-grid{grid-template-columns:minmax(0,1fr);gap:2.2rem}
  .e-con.tt-leadform-grid__head{position:static}
}
@media (max-width:640px){
  :root{--tt-head-mb:2.2rem}
  body.tt-site{line-height:1.66}
  /* USP's als rustige rijen: icoon links, tekst rechts */
  .e-con.tt-usps{grid-template-columns:minmax(0,1fr)!important}
  .e-con.tt-usps > .e-con.tt-usp{grid-column:auto!important;display:grid;grid-template-columns:2.2rem minmax(0,1fr);column-gap:1rem;align-items:start;text-align:left;padding:1.35rem 0}
  .e-con.tt-usps{background:transparent;gap:0;border:0}
  .e-con.tt-usps > .e-con.tt-usp + .e-con.tt-usp{border-top:1px solid var(--tt-line)}
  .e-con.tt-usps > .e-con.tt-usp.is-hl{margin-inline:calc(-1 * var(--tt-gutter));padding-inline:var(--tt-gutter);grid-template-columns:2.2rem minmax(0,1fr)}
  .elementor-widget.tt-usp__title{display:contents}
  .elementor-widget.tt-usp__title::before{grid-row:1 / span 2;margin:0;--tt-ico-size:1.7rem}
  .elementor-widget.tt-usp__title .elementor-heading-title{grid-column:2;font-size:1.22rem}
  .elementor-widget.tt-usp__text{grid-column:2;margin-top:.2rem}
  .e-con.tt-sec--usps .tt-usps{border-bottom:1px solid var(--tt-line)}
  /* rasters: segmenten 2 per rij, overige kaarten als rustige veegstrook */
  .e-con.tt-segs{gap:1.9rem .9rem}
  .elementor-widget.tt-seg__title .elementor-heading-title{font-size:1.18rem}
  .elementor-widget.tt-seg__sub{font-size:.8rem}
  .e-con.tt-seg__cap{margin-top:.8rem;padding-top:.7rem;gap:.5rem}
  .e-con.tt-teasers,.e-con.tt-cards.has-swipe,.e-con.tt-cards:has(> .tt-card.has-img){display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:80%;gap:1rem;
    overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--tt-gutter);
    margin-inline:calc(-1 * var(--tt-gutter));padding-inline:var(--tt-gutter);padding-bottom:.5rem;scrollbar-width:none}
  .e-con.tt-teasers::-webkit-scrollbar,.e-con.tt-cards::-webkit-scrollbar{display:none}
  .e-con.tt-teasers > *,.e-con.tt-cards > *{scroll-snap-align:start}
  .e-con.tt-cols-2,.e-con.tt-cols-3,.e-con.tt-cols-4{--cols:1}
  .e-con.tt-steps{--cols:1!important;gap:0}
  .e-con.tt-steps > .e-con.tt-step{display:grid;grid-template-columns:3.1rem minmax(0,1fr);padding:1.3rem 0 1.4rem}
  .elementor-widget.tt-step__title{display:contents}
  .elementor-widget.tt-step__title::before{grid-row:1 / span 2;margin:0;font-size:1.7rem}
  .elementor-widget.tt-step__title .elementor-heading-title,.elementor-widget.tt-step__text{grid-column:2}
  .e-con.tt-stats--band{grid-template-columns:repeat(2,minmax(0,1fr))}
  .e-con.tt-stats--band > .e-con.tt-stat:nth-child(odd)::before{display:none}
  .e-con.tt-stats--band > .e-con.tt-stat:nth-child(n+3){border-top:1px solid var(--tt-line)}
  .e-con.tt-hero > .e-con.tt-hero__inner{padding-bottom:3.2rem}
  .e-con.tt-hero:not(.tt-hero--season)::after{background:linear-gradient(180deg,rgba(20,15,12,.56) 0%,rgba(20,15,12,.4) 22%,rgba(20,15,12,.52) 42%,rgba(20,15,12,.86) 100%)}
  .elementor-widget.tt-scrollcue{display:none}
  .e-con.tt-segs[class*="tt-cols-"]{--cols:2}
  .e-con.tt-usps > .e-con.tt-usp.is-hl{--width:auto;width:auto}
  .e-con.tt-teasers,.e-con.tt-cards:has(> .tt-card.has-img){--width:auto;width:auto}
  .e-con.tt-feature{overflow-x:auto;overflow-y:hidden;margin-inline:calc(-1 * var(--tt-gutter));--width:auto;width:auto;scrollbar-width:none;scroll-snap-type:x proximity;overscroll-behavior-x:contain}
  .e-con.tt-feature::-webkit-scrollbar{display:none}
  .e-con.tt-feature > .e-con.tt-feature__stage{width:190%;max-width:none;scroll-snap-align:center}
  .elementor-widget.tt-hero__tag{display:none}
  .e-con.tt-band--spain::after{background:linear-gradient(180deg,rgba(24,17,13,.3) 0%,rgba(24,17,13,.62) 45%,rgba(24,17,13,.82) 100%)}
  .e-con.tt-band{justify-content:flex-end}
  .e-con.tt-board{border-width:9px}
  .e-con.tt-board__step{grid-template-columns:2.3rem minmax(0,1fr)}
  .e-con.tt-board__step::after{font-size:1.9rem}
  .tt-ctas .elementor-widget.tt-btn,.tt-ctas .elementor-widget.tt-btn .elementor-button{width:100%}
  .e-con.tt-ctas{width:100%}
  .elementor-widget.tt-hot .elementor-button{width:2.1rem;height:2.1rem}
  .elementor-widget.tt-hot .elementor-button-text{display:none}
  .tt-opts{gap:.45rem}
  .tt-opt{grid-template-columns:minmax(0,1fr);gap:.45rem;min-height:0;padding:.75rem .8rem .8rem}
  .tt-opt__ico{grid-row:auto;width:1.35rem;height:1.35rem}
  .tt-opt b{font-size:.84rem;line-height:1.25}
  .tt-opt small{display:none}
  .tt-form__row{grid-template-columns:minmax(0,1fr)}
  .tt-leadform .tt-form__submit .tt-btn{width:100%;min-width:0}
  .tt-sec :is(.tt-table,.tt-prose) table{font-size:.9rem}
  .e-con.tt-card.has-ico{padding:1.5rem}
  .tt-news__row{flex-wrap:wrap}
}
@media (max-width:400px){
  .e-con.tt-segs{gap:1.6rem .75rem}
  .elementor-widget.tt-seg__title .elementor-heading-title{font-size:1.08rem}
}
@media (hover:none){
  .elementor-widget.tt-hot .elementor-button-text{display:none}
}

/* ---------------------------------------------------------------- hulpiconen voor componenten */
:root{
  --tt-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z'/%3E%3C/svg%3E"); /* Phosphor arrow-right (MIT) */
  --tt-ic-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M108,84a16,16,0,1,1,16,16A16,16,0,0,1,108,84Zm32,80.68V132a20,20,0,0,0-20-20,12,12,0,0,0-4,23.32V168a20,20,0,0,0,20,20,12,12,0,0,0,4-23.32Z'/%3E%3C/svg%3E"); /* Phosphor info bold, enkel het i-teken (MIT) */
  --tt-pin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E");
  --tt-info:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6M12 7.6v.4'/%3E%3C/svg%3E");
  --tt-vink:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l4.5 4.5L19.5 7'/%3E%3C/svg%3E");
  --tt-chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A4C41' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  --tt-play:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M240,128a15.74,15.74,0,0,1-7.6,13.51L88.32,229.65a16,16,0,0,1-16.2.3A15.86,15.86,0,0,1,64,216.13V39.87a15.86,15.86,0,0,1,8.12-13.82,16,16,0,0,1,16.2.3L232.4,114.49A15.74,15.74,0,0,1,240,128Z'/%3E%3C/svg%3E"); /* Phosphor play-fill (MIT) */
  --tt-ic-nav:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M232,120h-8.34A96.14,96.14,0,0,0,136,32.34V24a8,8,0,0,0-16,0v8.34A96.14,96.14,0,0,0,32.34,120H24a8,8,0,0,0,0,16h8.34A96.14,96.14,0,0,0,120,223.66V232a8,8,0,0,0,16,0v-8.34A96.14,96.14,0,0,0,223.66,136H232a8,8,0,0,0,0-16Zm-96,87.6V200a8,8,0,0,0-16,0v7.6A80.15,80.15,0,0,1,48.4,136H56a8,8,0,0,0,0-16H48.4A80.15,80.15,0,0,1,120,48.4V56a8,8,0,0,0,16,0V48.4A80.15,80.15,0,0,1,207.6,120H200a8,8,0,0,0,0,16h7.6A80.15,80.15,0,0,1,136,207.6ZM128,88a40,40,0,1,0,40,40A40,40,0,0,0,128,88Zm0,64a24,24,0,1,1,24-24A24,24,0,0,1,128,152Z'/%3E%3C/svg%3E"); /* Phosphor crosshair (MIT) */
  --tt-x:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z'/%3E%3C/svg%3E"); /* Phosphor x (MIT) */
  --tt-spinner:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 3a9 9 0 1 1-9 9'/%3E%3C/svg%3E");
}
/* ICONEN (gegenereerd door build/icons.py; niet met de hand aanpassen) */
.tt-ico-fabriek{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18M4 21V11l5 3v-3l5 3V9h6v12'/%3E%3Cpath d='M16 9V4.5h2.5V9'/%3E%3Cpath d='M7 17.5h2M12 17.5h2'/%3E%3C/svg%3E")}
.tt-ico-levering{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6.5h12v9.5H2zM14 9.5h4l3 3.2V16h-7'/%3E%3Ccircle cx='6' cy='18' r='2'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3C/svg%3E")}
.tt-ico-wereld{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c3 3.5 3 14.5 0 18M12 3c-3 3.5-3 14.5 0 18'/%3E%3C/svg%3E")}
.tt-ico-maat{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 15.5 15.5 3.5l5 5-12 12z'/%3E%3Cpath d='M7.5 11.5l2 2M10.5 8.5l1.5 1.5M13.5 5.5l2 2'/%3E%3C/svg%3E")}
.tt-ico-ervaring{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9' r='6'/%3E%3Cpath d='M8.5 14l-1.5 7 5-3 5 3-1.5-7'/%3E%3Cpath d='M12 6.3l.85 1.75 1.9.28-1.38 1.34.33 1.9L12 10.66l-1.7.9.33-1.9-1.38-1.34 1.9-.28z'/%3E%3C/svg%3E")}
.tt-ico-showroom{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9h18l-1.6-5H4.6z'/%3E%3Cpath d='M4 9v11h16V9'/%3E%3Cpath d='M9.5 20v-6h5v6'/%3E%3Cpath d='M3 9c0 1.4 1.3 2.2 2.6 2.2S8.2 10.4 8.2 9c0 1.4 1.3 2.2 2.6 2.2M13.4 9c0 1.4 1.3 2.2 2.6 2.2S18.6 10.4 18.6 9'/%3E%3C/svg%3E")}
.tt-ico-advies{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4.5h16v11H9.5L4 20z'/%3E%3Cpath d='M8 9h8M8 12h5'/%3E%3C/svg%3E")}
.tt-ico-video{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='13' height='12' rx='1'/%3E%3Cpath d='M16 10l5-3v10l-5-3'/%3E%3C/svg%3E")}
.tt-ico-telefoon{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4l4 1 1 4-2 1a11 11 0 0 0 6 6l1-2 4 1 1 4c-9 1-16-6-15-15z'/%3E%3C/svg%3E")}
.tt-ico-whatsapp{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20l1.4-4.2A8 8 0 1 1 8.3 18.7z'/%3E%3Cpath d='M9.2 8.6c0 3.2 3 6.2 6.2 6.2l1-1.5-2-1-1 1c-1-.5-2-1.5-2.5-2.5l1-1-1-2z'/%3E%3C/svg%3E")}
.tt-ico-kalender{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3Cpath d='M7.5 14h2M11 14h2M14.5 14h2M7.5 17.5h2M11 17.5h2'/%3E%3C/svg%3E")}
.tt-ico-pin{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E")}
.tt-ico-blad{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19C5 10.5 10 5.2 20 4.2 19 14.2 13.5 19 5 19z'/%3E%3Cpath d='M5 19c2.8-4.6 6.2-7.8 10.5-10'/%3E%3C/svg%3E")}
.tt-ico-zon{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2.5v2M12 19.5v2M2.5 12h2M19.5 12h2M5.3 5.3l1.4 1.4M17.3 17.3l1.4 1.4M5.3 18.7l1.4-1.4M17.3 6.7l1.4-1.4'/%3E%3C/svg%3E")}
.tt-ico-bed{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 19V6.5M3 14.5h18V19M21 14.5V12a3 3 0 0 0-3-3h-7.5v5.5'/%3E%3Ccircle cx='6.6' cy='11.3' r='1.7'/%3E%3C/svg%3E")}
.tt-ico-lamp{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3h8l3.2 7.5H4.8z'/%3E%3Cpath d='M12 10.5V19M8.5 21h7'/%3E%3C/svg%3E")}
.tt-ico-bord{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='13' cy='12' r='6.5'/%3E%3Ccircle cx='13' cy='12' r='3.4'/%3E%3Cpath d='M3.5 4v4.2a1.5 1.5 0 0 0 3 0V4M5 9.7V20'/%3E%3C/svg%3E")}
.tt-ico-vuur{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21c-3.9 0-6.5-2.7-6.5-6.2 0-3.4 2.4-5.4 4-8.3.5 2 1.6 3 2.8 3.8.5-2.8 1.2-5.3 3.2-7.3.5 3.6 3 5.6 3 10 0 4.6-2.8 8-6.5 8z'/%3E%3Cpath d='M12 21c-1.7 0-2.8-1.2-2.8-2.8 0-1.6 1.3-2.5 2.2-3.8.9 1 3.4 2 3.4 3.9 0 1.6-1.1 2.7-2.8 2.7z'/%3E%3C/svg%3E")}
.tt-ico-mes{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 20.5 8 16'/%3E%3Cpath d='M8 16 19.6 4.4c.9-.9 2.1-.4 1.6 1L12.3 14.3z'/%3E%3Cpath d='M6.2 17.8l2 2'/%3E%3C/svg%3E")}
.tt-ico-container{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='7' width='19' height='11'/%3E%3Cpath d='M6.5 7v11M10.5 7v11M14.5 7v11M18.5 7v11'/%3E%3Cpath d='M2.5 5h19'/%3E%3C/svg%3E")}
.tt-ico-hand{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 11.5V5.8a1.5 1.5 0 0 1 3 0V10M10 9.8V4.5a1.5 1.5 0 0 1 3 0v5.3M13 9.8V5.8a1.5 1.5 0 0 1 3 0v5.4M16 10.5a1.5 1.5 0 0 1 3 0v3.7c0 3.9-3 6.8-6.8 6.8-2.8 0-4.3-1.3-5.8-3.3l-2.9-4a1.5 1.5 0 0 1 2.3-1.9L7 13.6'/%3E%3C/svg%3E")}
.tt-ico-zetel{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 11V8a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v3'/%3E%3Cpath d='M2.5 13a2 2 0 0 1 4 0v2h11v-2a2 2 0 0 1 4 0v5h-19z'/%3E%3Cpath d='M5 18v2M19 18v2'/%3E%3C/svg%3E")}
.tt-ico-tuin{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21v-8'/%3E%3Cpath d='M12 13c-4 0-6.2-2.5-6.2-6.2 3.7 0 6.2 2.2 6.2 6.2zM12 13c4 0 6.2-2.5 6.2-6.2-3.7 0-6.2 2.2-6.2 6.2z'/%3E%3Cpath d='M5 21h14'/%3E%3C/svg%3E")}
.tt-ico-mail{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14'/%3E%3Cpath d='M3 6l9 7 9-7'/%3E%3C/svg%3E")}
.tt-ico-klok{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.2 2'/%3E%3C/svg%3E")}
.tt-ico-parking{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='3.5' width='17' height='17' rx='2'/%3E%3Cpath d='M9.5 17V7h3.5a3 3 0 0 1 0 6H9.5'/%3E%3C/svg%3E")}
.tt-ico-route{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 19.5a2 2 0 1 0 0-4 2 2 0 0 0 0 4zM18 8.5a2 2 0 1 0 0-4 2 2 0 0 0 0 4z'/%3E%3Cpath d='M8 17.5h7a3 3 0 0 0 0-6H9a3 3 0 0 1 0-6h7'/%3E%3C/svg%3E")}
.tt-ico-gids{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5A2.5 2.5 0 0 1 6.5 3H20v15H6.5A2.5 2.5 0 0 0 4 20.5z'/%3E%3Cpath d='M4 20.5A2.5 2.5 0 0 1 6.5 18H20v3H6.5'/%3E%3Cpath d='M8.5 7.5h7M8.5 10.5h4.5'/%3E%3C/svg%3E")}
.tt-ico-info{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6M12 7.6v.4'/%3E%3C/svg%3E")}
.tt-ico-brochure{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 3.5h9l4 4v13h-13z'/%3E%3Cpath d='M14.5 3.5v4h4M8.5 12h7M8.5 15.5h7'/%3E%3C/svg%3E")}
.tt-ico-pijl{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h17M14 6l6 6-6 6'/%3E%3C/svg%3E")}
.tt-ico-sluit{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 5l14 14M19 5L5 19'/%3E%3C/svg%3E")}
.tt-ico-vink{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l4.5 4.5L19.5 7'/%3E%3C/svg%3E")}
.tt-ico-play{--tt-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 5.5v13l11-6.5z'/%3E%3C/svg%3E")}
/* /ICONEN */

/* ARTIKEL-ROMP (blok-HTML uit build/post_html.py, binnen sjabloon #954) */
.tt-art-cta{margin:3.2em 0 1em;padding:2.4em 0 .4em;border-top:1px solid var(--tt-line)}
.tt-art-cta > h3.wp-block-heading{margin-top:0}
.tt-art-ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5em 0 0}
.tt-prose .tt-art-ctas a.tt-btn{text-decoration:none}
@media (max-width:480px){.tt-art-ctas .tt-btn{flex:1 1 100%;justify-content:center}}
/* /ARTIKEL-ROMP */

/* FAQ-OVERZICHT ([tt_faq context="all"]): onderwerpen als rustige inhoudstafel naast de lijst (desktop),
   als een veegbare rij op gsm; volgt de uitlijning van de sectiekop */
.tt-head:not(.tt-head--center) ~ .elementor-widget.tt-dyn--faq :is(.ttd-faq__nav,.ttd-faq){margin-left:0}
.tt-head:not(.tt-head--center) ~ .elementor-widget.tt-dyn--faq .ttd-faq__nav ul{justify-content:flex-start}
@media (min-width:1101px){
  .elementor-widget.tt-dyn--faq .elementor-shortcode:has(> .ttd-faq__nav){display:grid;grid-template-columns:minmax(12rem,15rem) minmax(0,54rem);gap:clamp(2.5rem,1rem + 4vw,5.5rem);align-items:start;justify-content:center}
  .tt-head:not(.tt-head--center) ~ .elementor-widget.tt-dyn--faq .elementor-shortcode:has(> .ttd-faq__nav){justify-content:start}
  .elementor-widget.tt-dyn--faq .ttd-faq__nav{position:sticky;top:calc(var(--tt-hdr-h,100px) + 1.5rem);max-width:none;max-height:calc(100vh - var(--tt-hdr-h,100px) - 3rem);overflow:auto;margin:0;padding-top:1rem;border-top:1px solid var(--tt-line-strong);scrollbar-width:thin}
  .elementor-widget.tt-dyn--faq .ttd-faq__nav ul{display:grid;grid-template-columns:minmax(0,1fr);gap:0;width:100%;margin:0;padding:0}
  .elementor-widget.tt-dyn--faq .ttd-faq__nav li{display:block;width:100%;margin:0}
  .elementor-widget.tt-dyn--faq .ttd-faq__nav a{display:block;width:100%;padding:.42rem 0;border:0;border-bottom:1px solid var(--tt-line);border-radius:0;background:none;font-size:.86rem;line-height:1.35;color:var(--tt-muted)}
  .elementor-widget.tt-dyn--faq .ttd-faq__nav a:hover,.elementor-widget.tt-dyn--faq .ttd-faq__nav a:focus-visible{background:none;border-color:var(--tt-line);color:var(--tt-roest)}
  .elementor-widget.tt-dyn--faq .ttd-faq--all{max-width:none;margin:0}
  /* zoekveld (pin 1534) boven de vragenkolom, onderwerpen blijven links */
  .elementor-widget.tt-dyn--faq .elementor-shortcode:has(> .ttd-faq__search){row-gap:0}
  .elementor-widget.tt-dyn--faq .elementor-shortcode > .ttd-faq__search{grid-column:2;grid-row:1;max-width:none;width:100%;margin:0 0 2.2rem}
  .elementor-widget.tt-dyn--faq .elementor-shortcode:has(> .ttd-faq__search) > .ttd-faq__nav{grid-column:1;grid-row:1 / span 2}
  .elementor-widget.tt-dyn--faq .elementor-shortcode:has(> .ttd-faq__search) > .ttd-faq--all{grid-column:2;grid-row:2}
}
@media (max-width:640px){
  .elementor-widget.tt-dyn--faq .ttd-faq__nav{margin-inline:calc(-1 * var(--tt-gutter));margin-bottom:1.8rem}
  .elementor-widget.tt-dyn--faq .ttd-faq__nav ul{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;padding:0 var(--tt-gutter) .4rem;scrollbar-width:none;scroll-snap-type:x proximity}
  .elementor-widget.tt-dyn--faq .ttd-faq__nav ul::-webkit-scrollbar{display:none}
  .elementor-widget.tt-dyn--faq .ttd-faq__nav li{flex:none;scroll-snap-align:start}
  .elementor-widget.tt-dyn--faq .ttd-faq__nav a{white-space:nowrap}
}
/* /FAQ-OVERZICHT */

/* COMPACTE PAGINAKOP ZONDER BEELD: op brede schermen redactioneel in twee kolommen (titel links, intro + knoppen
   rechts op de basislijn), zodat de rechterhelft niet leeg blijft */
@media (min-width:1101px){
  .e-con.tt-pagehead__grid:not(.has-media) > .e-con.tt-pagehead__text-col{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);column-gap:clamp(3rem,1rem + 5vw,7rem);align-items:end;max-width:none;width:100%}
  .e-con.tt-pagehead__grid:not(.has-media) > .tt-pagehead__text-col > *{grid-column:1}
  .e-con.tt-pagehead__grid:not(.has-media) > .tt-pagehead__text-col > .elementor-widget.tt-pagehead__text{grid-column:2;grid-row:1 / span 3;align-self:end;margin-top:0;max-width:34rem}
  .e-con.tt-pagehead__grid:not(.has-media) > .tt-pagehead__text-col > .e-con.tt-ctas{grid-column:2;margin-top:2rem}
}
/* contactblok ([tt_contact]): ademruimte tussen de contactstrip en de urentabel */
.ttd-contact .ttd-tablewrap{margin-top:clamp(2.75rem,1.8rem + 2.5vw,4.5rem)}
.ttd-contact .ttd-table caption{padding-bottom:1.1rem;caption-side:top;text-align:left}
/* kaart ([tt_map]): alle showrooms liggen in Vlaanderen. Groter tonen en het zuiden zacht laten uitvloeien i.p.v.
   een half lege kaart; de pins en labels blijven op hun plaats (zelfde canvas) */
figure.ttd-map > .ttd-map__canvas{--mw:min(1040px,100%);max-width:1040px;margin-bottom:calc(var(--mw) * -.3);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 50%,rgba(0,0,0,.35) 60%,transparent 66%);mask-image:linear-gradient(180deg,#000 0%,#000 50%,rgba(0,0,0,.35) 60%,transparent 66%)}
figure.ttd-map > .ttd-map__canvas .ttd-pin:hover,figure.ttd-map > .ttd-map__canvas .ttd-pin:focus-within{z-index:5}
figure.ttd-map > figcaption{position:relative;z-index:1}
@media (max-width:640px){figure.ttd-map > .ttd-map__canvas{margin-bottom:calc(var(--mw) * -.28)}}
/* artikel (sjabloon #954): zonder inhoudstafel (bv. recepten met 2 tussenkoppen) een gecentreerde leeskolom.
   Geneste :has() is ongeldig in CSS, daarom deze platte variant. */
.e-con.tt-art:has(> .tt-art__toc .tt-tpl-empty){grid-template-columns:minmax(0,46rem);justify-content:center}
/* beelden in de artikelromp: een staand beeld wordt nooit hoger dan een scherm (uitsnede, geen vervorming) */
.tt-prose :is(figure.wp-block-image,.wp-block-image) img{width:100%;height:auto;max-height:min(78vh,34rem);object-fit:cover}
@media (max-width:640px){
  /* uitgelicht beeld even breed als de tekstkolom (de sectie heeft zelf al een zijmarge) */
  .tt-wrap > .e-con.tt-art-figure{padding-left:0!important;padding-right:0!important}
}
/* segmentkaarten ([tt_segments], [tt_store_segments]): een onvolledige laatste rij staat gecentreerd i.p.v. een
   leeg vak rechts (bv. 7 segmenten = 4 + 3). Enkel op brede schermen, waar het raster 3 of 4 kolommen heeft. */
@media (min-width:1001px){
  ul.ttd-segs.ttd-cols-4{grid-template-columns:repeat(8,minmax(0,1fr))}
  .ttd-segs.ttd-cols-4 > *{grid-column:span 2}
  .ttd-segs.ttd-cols-4 > :nth-child(4n+1):nth-last-child(3){grid-column:2 / span 2}
  .ttd-segs.ttd-cols-4 > :nth-child(4n+1):nth-last-child(2){grid-column:3 / span 2}
  .ttd-segs.ttd-cols-4 > :nth-child(4n+1):last-child{grid-column:4 / span 2}
  .ttd-segs:not(.ttd-cols-4):not(.ttd-cols-2){grid-template-columns:repeat(6,minmax(0,1fr))}
  .ttd-segs:not(.ttd-cols-4):not(.ttd-cols-2) > *{grid-column:span 2}
  .ttd-segs:not(.ttd-cols-4):not(.ttd-cols-2) > :nth-child(3n+1):nth-last-child(2){grid-column:2 / span 2}
  .ttd-segs:not(.ttd-cols-4):not(.ttd-cols-2) > :nth-child(3n+1):last-child{grid-column:3 / span 2}
}

/* ================================================================== QA-fase 28/09 (rol css-builder) */
/* A11Y-03: kleine walnootlinks (teaser "Ontdek in de showroom") halen 4,5:1 op zand2; op donkere vlakken blijft het lichte accent. */
.tt-bg-dark,.e-con.tt-hero,.e-con.tt-band--spain,.e-con.tt-band--image,.e-con.tt-cta.has-media,.e-con.tt-board{--tt-link-sm:var(--tt-acc-c)}
.elementor-widget.tt-teaser__where .elementor-heading-title :is(a,span){color:var(--tt-link-sm)}
/* AD-09: geen weduwen in koppen, rustiger regelval in lopende tekst. */
body.tt-site :is(h1,h2,h3,h4,.elementor-heading-title,.tt-card__title,.ttd-card__title,.ttd-post__title,.tt-drawer__title){text-wrap:balance}
body.tt-site :is(p,li,dd,figcaption,.elementor-widget-text-editor){text-wrap:pretty}
/* AD-07: onvolledige laatste rij in 4-kolomsrasters centreren (8-kolomsraster, zoals de 6-kolomstruc voor 3 kolommen). */
@media (min-width:1101px){
.e-con.tt-cols-4:is(.tt-segs,.tt-teasers,.tt-cards,.tt-videos){grid-template-columns:repeat(8,minmax(0,1fr))}
.e-con.tt-cols-4:is(.tt-segs,.tt-teasers,.tt-cards,.tt-videos) > *{grid-column:span 2}
.e-con.tt-cols-4:is(.tt-segs,.tt-teasers,.tt-cards,.tt-videos) > :nth-child(4n+1):nth-last-child(3){grid-column:2 / span 2}
.e-con.tt-cols-4:is(.tt-segs,.tt-teasers,.tt-cards,.tt-videos) > :nth-child(4n+1):nth-last-child(2){grid-column:3 / span 2}
.e-con.tt-cols-4:is(.tt-segs,.tt-teasers,.tt-cards,.tt-videos) > :nth-child(4n+1):last-child{grid-column:4 / span 2}
}
@media (max-width:1100px){
.e-con.tt-segs:not(.tt-cols-3){grid-template-columns:repeat(4,minmax(0,1fr))}
.e-con.tt-segs:not(.tt-cols-3) > *{grid-column:span 2}
.e-con.tt-segs:not(.tt-cols-3) > :nth-child(2n+1):last-child{grid-column:2 / span 2}
}
@media (max-width:900px){
.e-con.tt-segs{grid-template-columns:repeat(4,minmax(0,1fr))}
.e-con.tt-segs > *{grid-column:span 2}
.e-con.tt-segs > :nth-child(2n+1):last-child{grid-column:2 / span 2}
}
/* AD-01: tekst op een fotoband (variant spain) altijd leesbaar, ook op lichte foto's. */
.e-con.tt-band--spain::after{background:linear-gradient(90deg,rgba(24,17,13,.84) 0%,rgba(24,17,13,.72) 40%,rgba(24,17,13,.34) 72%,rgba(24,17,13,.12) 100%)}
.e-con.tt-band--spain .tt-band__inner :is(.elementor-heading-title,.tt-band__text,.tt-kicker){text-shadow:0 1px 16px rgba(20,15,12,.5)}
@media (max-width:900px){.e-con.tt-band--spain::after{background:linear-gradient(180deg,rgba(24,17,13,.6) 0%,rgba(24,17,13,.7) 45%,rgba(24,17,13,.84) 100%)}}
/* A11Y-04: horizontaal scrollbare tabellen zijn focusbaar (tt.js zet tabindex/role/label). */
body.tt-site [data-tt-scroll]:focus-visible{outline:2px solid var(--tt-roest);outline-offset:4px}
/* AD-08: tap-doelen op mobiel minstens 44 px hoog. */
@media (max-width:767px){
.elementor-widget.tt-crumbs a,.ttd-crumbs a{display:inline-block;padding-block:14px;margin-block:-14px}
.tt-ftr .tt-ftr__legal-nav .elementor-item{display:inline-flex!important;align-items:center;min-height:44px;padding-block:0!important}
.tt-ftr .tt-ftr__legal-nav .elementor-nav-menu{column-gap:8px}
.tt-ftr .tt-ftr__col .tt-textlink .elementor-button{display:inline-flex;align-items:center;min-height:44px;padding-block:0!important}
.tt-ftr .tt-ftr__col p a[href^="tel:"],.tt-ftr .tt-ftr__col p a[href^="mailto:"]{display:inline-block;padding-block:10px}
}

/* LEAD-09: foutmeldingen onder de velden van Elementor-formulieren (sollicitatie). */
.elementor-form .tt-field__err{display:block;width:100%;margin-top:.35rem;font-size:.8rem;line-height:1.4;color:#A33A2A}
.elementor-form .tt-field__err:empty{display:none}
.elementor-form [aria-invalid=true]{border-color:#A33A2A!important}
body.tt-site .elementor-form ::placeholder{color:var(--tt-hint)!important;opacity:1}

/* ==========================================================================
   Feedback Dario 29/09/2026 (sitebreed). Overschrijft bewust de regels hierboven; zie qa/feedback-dario-verwerking.md
   ========================================================================== */
/* S2 hero's: zwarte gradient naar transparant (leesbaarheid) en een bredere tekstkolom (65 à 70 %) */
.e-con.tt-hero::after{background:
  linear-gradient(90deg,rgba(12,9,7,.8) 0%,rgba(12,9,7,.58) 34%,rgba(12,9,7,.2) 64%,rgba(12,9,7,0) 86%),
  linear-gradient(180deg,rgba(12,9,7,.5) 0%,rgba(12,9,7,0) 28%,rgba(12,9,7,0) 58%,rgba(12,9,7,.5) 100%)}
.tt-hero__inner > .elementor-widget.tt-h1 .elementor-heading-title{max-width:24ch}
.elementor-widget.tt-hero__text{width:min(100%,46rem)}
@media (min-width:1025px){
  .e-con.tt-hero > .e-con.tt-hero__inner > .elementor-widget:not(.tt-crumbs),.e-con.tt-hero > .e-con.tt-hero__inner > .e-con{max-width:68%}
}
@media (max-width:640px){
  .e-con.tt-hero:not(.tt-hero--season)::after{background:linear-gradient(180deg,rgba(12,9,7,.62) 0%,rgba(12,9,7,.48) 30%,rgba(12,9,7,.62) 55%,rgba(12,9,7,.9) 100%)}
}
/* S2 paginakop zonder beeld (juridische pagina's, bedankt): langer en duidelijk gescheiden van de inhoud */
.e-con.tt-pagehead:not(:has(.has-media)){--padding-top:clamp(4.5rem,2.5rem + 6vw,9rem);--padding-bottom:clamp(4rem,2.2rem + 5vw,7.5rem);background:var(--tt-zand2);border-bottom:1px solid var(--tt-lijn)}
/* S13 titels in banden en CTA's niet op halve breedte */
.e-con.tt-band--spain .tt-band__inner > .elementor-widget{width:min(100%,50rem)}
.e-con.tt-band--spain .elementor-widget.tt-h2 .elementor-heading-title{max-width:22ch}
.e-con.tt-band--dark .elementor-widget.tt-h2 .elementor-heading-title,.e-con.tt-band--image .elementor-widget.tt-h2 .elementor-heading-title{max-width:26ch}
.e-con.tt-cta .elementor-widget.tt-h2 .elementor-heading-title{max-width:24ch}
.e-con.tt-head{max-width:56rem}
/* S3 CTA-band met foto: zwarte gradient die naar transparant loopt */
.e-con.tt-cta.has-media::after{background:linear-gradient(0deg,rgba(12,9,7,.86) 0%,rgba(12,9,7,.62) 45%,rgba(12,9,7,.34) 100%)}
.e-con.tt-cta .elementor-widget.tt-cta__text{width:min(100%,44rem)}
.e-con.tt-cta .tt-cta__text a,.tt-bg-dark .tt-cta__text a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;white-space:nowrap}
.e-con.tt-cta .tt-cta__text a:hover{color:var(--tt-licht)}
/* S8 FAQ-sectie in twee kolommen: links kop, tekst en knop naar alle vragen, rechts de 5 vragen als accordeon */
.e-con.tt-faq2{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2.5rem,1rem + 5vw,7rem);align-items:start}
.e-con.tt-faq2__head{position:sticky;top:calc(var(--tt-hdr-h,100px) + 2rem);display:flex;flex-direction:column;align-items:flex-start}
.e-con.tt-faq2__head > .e-con.tt-head{margin-bottom:0}
.e-con.tt-faq2__head .e-con.tt-ctas{margin-top:2rem}
.e-con.tt-faq2__list .ttd-faq{margin-top:0}
.e-con.tt-faq2__list .ttd-faq__item:first-child summary{padding-top:0}
@media (max-width:900px){.e-con.tt-faq2{grid-template-columns:minmax(0,1fr);gap:2.2rem}.e-con.tt-faq2__head{position:static}}
/* S9 lopende tekst even breed als de andere kolommen: kop links, tekst rechts */
.e-con.tt-rich{max-width:none}
@media (min-width:1025px){
  .e-con.tt-rich:not(.has-toc) > .e-con.tt-rich__body{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:clamp(3rem,1rem + 5vw,7rem);align-items:start}
  .e-con.tt-rich:not(.has-toc) > .e-con.tt-rich__body > *{grid-column:2}
  .e-con.tt-rich:not(.has-toc) > .e-con.tt-rich__body > .e-con.tt-head{grid-column:1;grid-row:1 / span 3;position:sticky;top:calc(var(--tt-hdr-h,100px) + 2rem);margin-bottom:0}
  .e-con.tt-rich:not(.has-toc) .elementor-widget.tt-prose--rich{width:100%;max-width:48rem}
  .e-con.tt-rich.has-toc{grid-template-columns:minmax(12rem,16rem) minmax(0,1fr)}
  .e-con.tt-rich.has-toc .elementor-widget.tt-prose--rich{width:100%;max-width:52rem}
}

/* ===== Feedback Dario deel 1 (29/09) ===== */
/* 1548: stappen met foto */
.tt-sec .e-con.tt-step > .elementor-widget.tt-step__img{height:auto;aspect-ratio:4/3;margin-block-end:1.3rem}
.elementor-widget.tt-step__img img{height:100%}
.e-con.tt-steps--img > .e-con.tt-step{padding-top:0;background-image:none}
/* 1502: tijdlijn (steps variant timeline), afwisselend links en rechts van een middenlijn */
.e-con.tt-steps.tt-steps--timeline{--g:clamp(3rem,1.6rem + 4vw,6.5rem);position:relative;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--g);row-gap:0;max-width:64rem;margin-inline:auto;grid-auto-rows:auto}
.e-con.tt-steps--timeline::before{content:"";position:absolute;left:50%;top:.5rem;bottom:3rem;width:1px;background:var(--tt-line-strong)}
.e-con.tt-steps--timeline > .e-con.tt-step{position:relative;padding:0 0 3.4rem;grid-column:1;text-align:right;align-items:flex-end}
.e-con.tt-steps--timeline > .e-con.tt-step:nth-child(even){grid-column:2;text-align:left;align-items:flex-start}
.e-con.tt-steps--timeline > .e-con.tt-step:nth-child(1){grid-row:1 / span 2}.e-con.tt-steps--timeline > .e-con.tt-step:nth-child(2){grid-row:2 / span 2}
.e-con.tt-steps--timeline > .e-con.tt-step:nth-child(3){grid-row:3 / span 2}.e-con.tt-steps--timeline > .e-con.tt-step:nth-child(4){grid-row:4 / span 2}
.e-con.tt-steps--timeline > .e-con.tt-step:nth-child(5){grid-row:5 / span 2}.e-con.tt-steps--timeline > .e-con.tt-step:nth-child(6){grid-row:6 / span 2}
.e-con.tt-steps--timeline > .e-con.tt-step:nth-child(7){grid-row:7 / span 2}.e-con.tt-steps--timeline > .e-con.tt-step:nth-child(8){grid-row:8 / span 2}
.e-con.tt-steps--timeline > .e-con.tt-step:nth-child(9){grid-row:9 / span 2}.e-con.tt-steps--timeline > .e-con.tt-step:nth-child(10){grid-row:10 / span 2}
.e-con.tt-steps--timeline > .e-con.tt-step::after{content:"";position:absolute;top:.55rem;right:calc(var(--g) / -2 - 6px);width:11px;height:11px;border-radius:50%;background:var(--tt-bg,var(--tt-ivoor));border:1px solid var(--tt-walnoot);box-shadow:0 0 0 5px var(--tt-bg,var(--tt-ivoor))}
.e-con.tt-steps--timeline > .e-con.tt-step:nth-child(even)::after{right:auto;left:calc(var(--g) / -2 - 6px)}
.e-con.tt-steps--timeline > .e-con.tt-step:last-child::after{background:var(--tt-roest);border-color:var(--tt-roest)}
.e-con.tt-steps--timeline .elementor-widget.tt-step__title::before{content:none;display:none}
.e-con.tt-steps--timeline .elementor-widget.tt-step__title .elementor-heading-title{font-size:clamp(1.9rem,1.5rem + 1.2vw,2.6rem);line-height:1;color:var(--tt-walnoot);letter-spacing:-.01em}
.e-con.tt-steps--timeline .elementor-widget.tt-step__text{margin-top:.6rem;max-width:26rem;font-size:.98rem}
/* 1491: tabel naast een foto */
.e-con.tt-tablesplit{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:clamp(2.5rem,1rem + 5vw,6rem);align-items:center}
.e-con.tt-tablesplit__table{min-width:0}
.e-con.tt-tablesplit__media{overflow:hidden}
/* 1492: foto's tussen de onderdelen van een tekstblok */
.tt-sec .e-con.tt-rich__body > .elementor-widget.tt-rich__fig{width:min(100%,44rem);height:auto;aspect-ratio:21/9;margin-block:1.1rem 1.6rem}
.elementor-widget.tt-rich__fig img{height:100%}
.tt-sec .e-con.tt-rich.has-toc .e-con.tt-rich__body > .elementor-widget.tt-rich__fig{width:100%;max-width:52rem}
.tt-sec .e-con.tt-rich__body > .elementor-widget.tt-rich__figcap{margin-block:-.9rem 1.6rem;font-size:var(--tt-fs-xs);color:var(--tt-muted)}
@media (min-width:1101px){.tt-sec .e-con.tt-rich:not(.has-toc) .e-con.tt-rich__body > .elementor-widget.tt-rich__fig{width:100%;max-width:48rem}}
@media (max-width:900px){
  .e-con.tt-tablesplit{grid-template-columns:minmax(0,1fr)}
  .e-con.tt-tablesplit__media{aspect-ratio:3/2}
  .e-con.tt-steps.tt-steps--timeline{grid-template-columns:minmax(0,1fr);--g:2.4rem;padding-left:var(--g);max-width:none}
  .e-con.tt-steps--timeline::before{left:calc(var(--g) / 2)}
  .e-con.tt-steps.tt-steps--timeline > .e-con.tt-step,.e-con.tt-steps.tt-steps--timeline > .e-con.tt-step:nth-child(even){grid-column:1;grid-row:auto;text-align:left;align-items:flex-start;display:flex;padding:0 0 1.9rem}
  .e-con.tt-steps.tt-steps--timeline > .e-con.tt-step::after,.e-con.tt-steps.tt-steps--timeline > .e-con.tt-step:nth-child(even)::after{right:auto;left:calc(var(--g) / -2 - 6px)}
  .e-con.tt-steps.tt-steps--timeline .elementor-widget.tt-step__title{display:block}
}
@media (max-width:640px){
  .e-con.tt-steps.tt-steps--timeline > .e-con.tt-step + .e-con.tt-step{border-top:0}
  .e-con.tt-steps--img > .e-con.tt-step > .elementor-widget.tt-step__img{grid-column:1 / -1;grid-row:1;margin-bottom:1rem}
  .e-con.tt-steps--img .elementor-widget.tt-step__title::before{grid-row:2 / span 2}
  .e-con.tt-steps--img .elementor-widget.tt-step__title .elementor-heading-title{grid-row:2}
  .e-con.tt-steps--img .elementor-widget.tt-step__text{grid-row:3}
}
@media (max-width:640px){.tt-sec .e-con.tt-rich__body > .elementor-widget.tt-rich__fig{aspect-ratio:3/2}}
/* ==========================================================================
   Feedback Dario ronde 2 (30/09/2026). Zie qa/feedback-dario-verwerking.md, sectie Ronde 2
   ========================================================================== */
/* 1696 headers op 90vh: alle paginakoppen met een beeld over de volle breedte (afdelingen, over ons, showrooms,
   contact, FAQ, showroomsjabloon), zonder bovengrens; de inhoud mag langer zijn (min-height, niets wordt afgesneden).
   Paginakoppen met tekst naast een foto (adviesgesprek, brochure, events, werken bij, archieven): samen met de
   header 90vh, inhoud verticaal gecentreerd. */
body .e-con.tt-hero:not(.tt-hero--season){min-height:max(30rem,90vh);min-height:max(30rem,90svh)}
body .e-con.tt-pagehead:has(> .e-con > .e-con.tt-pagehead__grid.has-media),body .e-con.tt-pagehead:has(> .e-con.tt-pagehead__grid.has-media){
  min-height:calc(90vh - var(--tt-hdr-h,120px));min-height:calc(90svh - var(--tt-hdr-h,120px));justify-content:center}
@media (max-width:640px){body .e-con.tt-hero:not(.tt-hero--season){min-height:max(32rem,90svh)}}
/* 1697 / 1702 play-knop: driehoek iets naar links en naar onder (was te ver rechts en iets te hoog); zwaartepunt nu net links van het midden */
.tt-play span::before{margin-left:-3%;transform:translateY(6%)}
/* 1698 / 1699 / 1703 stappen genummerd in de titel ("1. Inspiratie") met een foto erboven: geen los groot cijfer meer */
.e-con.tt-steps--num .elementor-widget.tt-step__title::before{content:none;display:none}
.e-con.tt-steps--num > .e-con.tt-step{padding-top:0}
.e-con.tt-steps--num .elementor-widget.tt-step__title .elementor-heading-title{font-size:clamp(1.3rem,1.15rem + .5vw,1.6rem);line-height:1.2}
.e-con.tt-steps--num.tt-steps--img > .e-con.tt-step > .elementor-widget.tt-step__img{margin-block-end:1.35rem}
@media (max-width:640px){
  .e-con.tt-steps.tt-steps--num{gap:2.4rem}
  .e-con.tt-steps.tt-steps--num > .e-con.tt-step{display:flex;flex-direction:column;padding:0}
  .e-con.tt-steps--num .elementor-widget.tt-step__title{display:block}
  .e-con.tt-steps.tt-steps--num > .e-con.tt-step + .e-con.tt-step{border-top:0}
}
/* 1694 / 1701 accordeons: de eerste vraag krijgt dezelfde binnenruimte als de rest (zie tt-dynamic.css) */
.e-con.tt-faq2__list .ttd-faq .ttd-faq__item:first-child summary{padding-top:1.3rem}

/* tt-dynamic */
/* T&T Core: dynamische blokken (rol data). Tokens uit tt.css (CONTRACT §5), met terugval. Klassen: ttd-*. */
.ttd{
  --d-ivoor:var(--tt-ivoor,#FAF6EF);--d-zand:var(--tt-zand,#EADFCD);--d-zand2:var(--tt-zand2,#F3ECE0);--d-taupe:var(--tt-taupe,#B9A88F);
  --d-walnoot:var(--tt-walnoot,#8A6B4E);--d-roest:var(--tt-roest,#A85A34);--d-roest-h:var(--tt-roest-hover,#8F4A29);
  --d-esp:var(--tt-espresso,#2E2721);--d-esp2:var(--tt-espresso2,#5A4C41);--d-lijn:var(--tt-lijn,rgba(46,39,33,.14));
  --d-serif:var(--tt-serif,"Fira Sans",system-ui,Arial,sans-serif);--d-sans:var(--tt-sans,"Jost",system-ui,sans-serif);
  --d-ease:cubic-bezier(.2,.7,.2,1);
  font-family:var(--d-sans);color:var(--d-esp);box-sizing:border-box;font-variant-numeric:lining-nums
}
.ttd figcaption,.ttd .ttd-note,.ttd cite,.ttd address{font-style:normal}
.ttd p a:not([class]){border-bottom:1px solid currentColor;transition:color .25s}
.ttd p a:not([class]):hover{color:var(--d-roest)}
.ttd *,.ttd *::before,.ttd *::after{box-sizing:border-box}
.ttd[role=list],.ttd [role=list]{list-style:none;margin:0;padding:0}
:where(.ttd[role=list],.ttd [role=list])>li{margin:0;padding:0}
.ttd[role=list]>li::marker,.ttd [role=list]>li::marker{content:none}
.ttd a{text-decoration:none}
.ttd dl,.ttd dd{margin:0}
.ttd a{color:inherit}
.ttd img{max-width:100%;height:auto;display:block}
.ttd-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ttd-wrap{width:min(1280px,100% - 48px);margin-inline:auto}
.ttd .tt-acc{color:var(--d-walnoot);font-style:normal}
.ttd-kicker{display:block;font-family:var(--d-sans);font-weight:400;font-size:.74rem;letter-spacing:.32em;text-transform:uppercase;color:var(--d-roest);margin-bottom:1em}
.ttd-note{font-size:.8rem;line-height:1.6;color:var(--d-esp2);margin:.8em 0 0}
.ttd-empty{font-size:.85rem;padding:14px 18px;border:1px dashed var(--d-taupe);color:var(--d-esp2);background:var(--d-zand2)}
.ttd-empty--public{border:0;background:none;padding:0}
.ttd-ph{display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--d-zand2),var(--d-zand))}
.ttd-tag{display:inline-block;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--d-lijn);padding:5px 10px;color:var(--d-esp2)}
/* pijl = dezelfde Phosphor-pijl als op alle knoppen (mask), het &rarr;-teken blijft enkel als tekst-fallback */
.ttd-arr{display:inline-block;width:1.15em;height:1.15em;flex:0 0 auto;vertical-align:-.2em;overflow:hidden;text-indent:200%;white-space:nowrap;background:currentColor;-webkit-mask:var(--tt-arrow) center/contain no-repeat;mask:var(--tt-arrow) center/contain no-repeat;transition:transform .3s var(--d-ease)}
a:hover .ttd-arr,a:focus-visible .ttd-arr{transform:translateX(4px)}
.ttd :focus-visible{outline:2px solid var(--d-roest);outline-offset:3px}

/* knoppen (vierkant, Jost 500 .78rem, .2em) */
.ttd-btn,.ttd-btn:visited{text-decoration:none!important}
.ttd .ttd-btn{display:inline-flex;align-items:center;justify-content:center;gap:.7em;font-family:var(--d-sans);font-weight:500;font-size:.78rem;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;padding:1.05em 1.9em;border:1px solid var(--d-esp);color:var(--d-esp);background:transparent;cursor:pointer;border-radius:0;transition:background .3s,color .3s,border-color .3s}
.ttd .ttd-btn:hover,.ttd .ttd-btn:focus-visible{background:var(--d-esp);color:var(--d-ivoor);border-color:var(--d-esp)}
.ttd .ttd-btn--fill{background:var(--d-roest);border-color:var(--d-roest);color:#fff}
.ttd .ttd-btn--fill:hover,.ttd .ttd-btn--fill:focus-visible{background:var(--d-roest-h);border-color:var(--d-roest-h);color:#fff}
.ttd .ttd-btn--light{background:transparent;border-color:rgba(250,246,239,.75);color:var(--d-ivoor)}
.ttd .ttd-btn--light:hover,.ttd .ttd-btn--light:focus-visible{background:var(--d-ivoor);color:var(--d-esp);border-color:var(--d-ivoor)}
.ttd button.ttd-btn{box-shadow:none;border-radius:0;min-height:0}
.ttd-link{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px;transition:color .25s}
.ttd-link:hover{color:var(--d-roest)}
.ttd-ic{width:20px;height:20px;flex:none}

/* reveal (subtiel, enkel met JS; uit bij reduced motion en ?tt-static=1) */
.ttd-js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .9s var(--d-ease),transform .9s var(--d-ease);transition-delay:var(--rd,0s)}
.ttd-js [data-reveal].is-in{opacity:1;transform:none}

/* ---------------- seizoenshero ---------------- */
.ttd-hero{position:relative;height:min(64vh,640px);min-height:440px;overflow:hidden;color:#fff;background:#221c18;isolation:isolate}
.ttd-hero__media,.ttd-hero__img,.ttd-hero__video{position:absolute;inset:0;width:100%;height:100%}
.ttd .ttd-hero__img,.ttd .ttd-hero__video{object-fit:cover;max-width:none!important;width:100%!important;height:100%!important}
.ttd-hero__img{animation:ttdKen 22s var(--d-ease) both}
.ttd-hero__video{opacity:0;transition:opacity 1.2s ease}
.ttd-hero__video.is-playing{opacity:1}
.ttd-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(20,15,12,.62) 0%,rgba(20,15,12,.38) 38%,rgba(20,15,12,0) 70%),linear-gradient(180deg,rgba(20,15,12,.32) 0%,rgba(20,15,12,.08) 30%,rgba(20,15,12,.3) 62%,rgba(20,15,12,.7) 100%)}
.ttd-hero__title,.ttd-hero__text{text-shadow:0 1px 24px rgba(20,15,12,.35)}
.ttd-hero__in{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(58px,9vh,104px)}
.ttd-hero__h1{font-family:var(--d-sans)!important;font-weight:400!important;font-size:.76rem!important;line-height:1.5!important;letter-spacing:.3em!important;text-transform:uppercase;color:#F0E4D2!important;margin:0 0 1.1em!important;display:flex;align-items:center;gap:14px}
.ttd-hero__h1::before{content:"";width:34px;height:1px;background:currentColor;opacity:.8}
.ttd-hero__title{font-family:var(--d-serif);font-weight:400;font-size:clamp(2.5rem,5.2vw,4.9rem);line-height:1.05;letter-spacing:-.018em;margin:0 0 .32em;max-width:15ch;color:#fff;text-wrap:balance}
.ttd-hero__title .tt-acc{color:#E6CFB2}
.ttd-hero__text{max-width:520px;font-size:1.08rem;font-weight:300;line-height:1.65;color:rgba(255,255,255,.9);margin:0 0 1.4em}
.ttd-ctas{display:flex;gap:14px;flex-wrap:wrap}
.ttd-hero__tag{position:absolute;right:24px;bottom:22px;z-index:3;margin:0;display:flex;gap:12px;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.ttd-hero__tag span+span::before{content:"·";margin-right:12px}
.ttd-scrollcue{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:3;color:#fff;text-decoration:none;font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:.85}
.ttd-scrollcue span{width:1px;height:26px;background:rgba(255,255,255,.85);animation:ttdCue 2.2s infinite}
.ttd-hero .ttd-hero__h1,.ttd-hero .ttd-hero__title,.ttd-hero .ttd-hero__text,.ttd-hero .ttd-ctas{animation:ttdUp 1.1s var(--d-ease) both}
.ttd-hero .ttd-hero__title{animation-name:ttdUpT;animation-delay:0s}.ttd-hero .ttd-hero__text{animation-delay:.24s}.ttd-hero .ttd-ctas{animation-delay:.36s}
@keyframes ttdUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
/* Fase 4 (PERF-02): de grote seizoenstitel is een LCP-kandidaat: meteen zichtbaar, enkel beweging. */
@keyframes ttdUpT{from{transform:translateY(18px)}to{transform:none}}
@keyframes ttdKen{from{transform:scale(1.06)}to{transform:scale(1)}}
@keyframes ttdCue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* uitgelicht met hotspots */
.ttd-feature{position:relative;margin:0}
.ttd-feature img{width:100%;height:auto}
.ttd-hot{position:absolute;transform:translate(-50%,-50%);z-index:2;width:34px;height:34px;border-radius:50%;background:rgba(250,246,239,.95);color:var(--d-esp);text-decoration:none;font-weight:500;font-size:.95rem;display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.ttd-hot__ic{position:absolute;inset:0;margin:auto;width:32px;height:32px;background:var(--d-esp);-webkit-mask:var(--tt-ic-i) center/contain no-repeat;mask:var(--tt-ic-i) center/contain no-repeat;pointer-events:none}
.ttd-hot::before{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px solid rgba(250,246,239,.85);animation:ttdPulse 2.6s infinite}
.ttd-hot__tip{position:absolute;left:46px;top:50%;transform:translate(-4px,-50%);white-space:nowrap;background:var(--d-ivoor);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;padding:8px 12px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
.ttd-hot--l .ttd-hot__tip{left:auto;right:46px;transform:translate(4px,-50%)}
.ttd-hot:hover .ttd-hot__tip,.ttd-hot:focus-visible .ttd-hot__tip{opacity:1;transform:translate(0,-50%)}
@keyframes ttdPulse{0%{transform:scale(.8);opacity:1}100%{transform:scale(1.65);opacity:0}}

/* ---------------- segmentkaarten 4:5 ---------------- */
.ttd-segs{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,32px)}
.ttd-segs.ttd-cols-4{grid-template-columns:repeat(4,1fr)}
.ttd-segs.ttd-cols-2{grid-template-columns:repeat(2,1fr)}
.ttd-seg a{display:block;text-decoration:none}
.ttd-seg__ph{display:block;overflow:hidden;aspect-ratio:4/5;background:var(--d-zand2)}
.ttd-seg__ph img{width:100%;height:100%!important;object-fit:cover;transition:transform 1.4s var(--d-ease)}
.ttd-seg a:hover img,.ttd-seg a:focus-visible img{transform:scale(1.045)}
.ttd-seg__cap{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:1px solid var(--d-esp);margin-top:16px;padding-top:12px;position:relative}
.ttd-seg__cap::after{content:"";position:absolute;left:0;top:-1px;height:1px;width:0;background:var(--d-roest);transition:width .6s var(--d-ease)}
.ttd-seg a:hover .ttd-seg__cap::after,.ttd-seg a:focus-visible .ttd-seg__cap::after{width:100%}
.ttd-seg__name{font-family:var(--d-serif);font-weight:500;font-size:1.55rem;line-height:1.15}
.ttd-seg__nr{font-size:.72rem;letter-spacing:.2em;color:#6F6152}
.ttd-seg__sub{display:block;line-height:1.5;font-size:.9rem;font-weight:300;color:var(--d-esp2);margin-top:.35em}

/* ---------------- showrooms + winkelzoeker ---------------- */
.ttd-finder{display:grid;justify-items:center;gap:10px;max-width:560px;margin:0 auto clamp(30px,4vw,48px)}
.ttd-finder__label{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--d-esp2)}
.ttd-finder__row{display:flex;width:100%;border:1px solid var(--d-esp);background:#fff}
.ttd .ttd-finder__input{flex:1;min-width:0;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;font:inherit;font-size:1rem;font-weight:300;color:var(--d-esp);padding:14px 16px!important;outline:none;height:auto}
.ttd-finder__input::placeholder{color:#8d8278}
.ttd-finder__row:focus-within{outline:2px solid var(--d-roest);outline-offset:2px}
.ttd-finder__row .ttd-btn{border:0;padding-inline:1.6em}
.ttd .ttd-finder__geo{border-radius:0;box-shadow:none;min-height:0}
.ttd .ttd-finder__geo,.ttd .ttd-finder__geo:hover,.ttd .ttd-finder__geo:focus{background:none!important;color:var(--d-esp)!important;border:0!important;border-bottom:1px solid transparent!important;padding:6px 2px!important;font-weight:400}
.ttd .ttd-finder__geo:hover{border-bottom-color:currentColor!important;color:var(--d-roest)!important}
.ttd-finder__geo{display:inline-flex;align-items:center;gap:8px;background:none;border:0;font:inherit;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--d-esp);cursor:pointer;padding:6px 2px;border-bottom:1px solid transparent;transition:border-color .25s,color .25s}
.ttd-finder__geo:hover{border-color:currentColor;color:var(--d-roest)}
.ttd-finder__geo .ttd-ic{width:16px;height:16px}
.ttd-finder__geo[aria-busy=true]{opacity:.6;cursor:progress}
.ttd-finder__msg{min-height:1.5em;margin:0;font-size:.92rem;text-align:center;color:var(--d-esp2)}
.ttd-finder__msg b{font-weight:500;color:var(--d-esp)}
.ttd-finder__src{text-align:center}
.ttd-storegrid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--d-lijn);border-left:1px solid var(--d-lijn)}
.ttd-storegrid--5{grid-template-columns:repeat(5,1fr)}
.ttd-storegrid--5 .ttd-store__link{padding:26px 20px 22px}
.ttd-storegrid--5 .ttd-store__name{font-size:1.55rem}
.ttd-storegrid--5 .ttd-store__sat{letter-spacing:.12em}
.ttd-storegrid--5 .ttd-now__detail{display:none}
.ttd-storegrid--4{grid-template-columns:repeat(4,1fr)}
.ttd-store{border-right:1px solid var(--d-lijn);border-bottom:1px solid var(--d-lijn);position:relative;transition:background .35s}
.ttd-store__link{display:flex;flex-direction:column;height:100%;padding:30px 28px 26px;text-decoration:none}
.ttd-store:hover{background:var(--d-zand2)}
.ttd-store__name{font-family:var(--d-serif);font-weight:500;font-size:1.8rem;line-height:1.1;margin:0 0 .3em;color:var(--d-esp)}
.ttd-store__hq{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--d-walnoot);margin:-.1em 0 .6em}
.ttd-store__addr{font-size:.9rem;line-height:1.55;font-weight:300;color:var(--d-esp2)}
.ttd-store__sat{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--d-roest);margin-top:12px}
.ttd-store__more{margin-top:auto;padding-top:18px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--d-esp);opacity:.0;transform:translateY(4px);transition:opacity .3s,transform .3s}
.ttd-store:hover .ttd-store__more,.ttd-store__link:focus-visible .ttd-store__more{opacity:1;transform:none}
.ttd-store__dist{position:absolute;right:24px;top:32px;font-size:.74rem;letter-spacing:.12em;color:var(--d-walnoot)}
.ttd-store__badge{position:absolute;left:28px;top:0;transform:translateY(-50%);background:var(--d-roest);color:#fff;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;padding:5px 10px}
.ttd-store.is-near{background:var(--d-zand)}
.ttd-store.is-near .ttd-store__name{color:var(--d-esp)}
.ttd-store.is-near::before{content:"";position:absolute;inset:-1px;border:1px solid var(--d-roest);pointer-events:none}
.ttd-stores.is-sorted .ttd-store{animation:ttdIn .7s var(--d-ease) both;animation-delay:var(--rd,0s)}
@keyframes ttdIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* open-nu */
.ttd-now{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:10px 0 0;font-size:.84rem;line-height:1.4;color:var(--d-esp2)}
.ttd-now__dot{width:8px;height:8px;border-radius:50%;background:var(--d-taupe);flex:none;position:relative}
.ttd-now.is-open .ttd-now__dot{background:#5E7A55}
.ttd-now.is-open .ttd-now__dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid #5E7A55;animation:ttdPulse 2.4s infinite}
.ttd-now.is-open .ttd-now__label{color:#44603C;font-weight:400}
.ttd-now.is-afspraak .ttd-now__dot{background:var(--d-walnoot)}
.ttd-now.is-uitzondering .ttd-now__dot{background:var(--d-roest)}
.ttd-now__detail{flex-basis:100%;padding-left:18px;font-size:.8rem;color:var(--d-esp2);opacity:.85}
.ttd-now--card{font-size:.8rem}
.ttd-now--card .ttd-now__detail{display:none!important}

/* ---------------- kaart België ---------------- */
.ttd-map{margin:0}
.ttd-map__canvas{position:relative;max-width:880px;margin-inline:auto;aspect-ratio:1000/822}
.ttd-map__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ttd-map__prov path{fill:var(--d-zand2);stroke:var(--d-ivoor);stroke-width:1.6;stroke-linejoin:round;transition:fill .5s}
.ttd-map__prov path.r-vl{fill:var(--d-zand)}
.ttd-map__prov path.r-bru{fill:var(--d-zand)}
.ttd-map__land{fill:none;stroke:var(--d-walnoot);stroke-width:1.3;stroke-linejoin:round;opacity:.75}
.ttd-map__pins{position:absolute;inset:0}
.ttd-pin{position:absolute;width:0;height:0}
.ttd-pin__a{position:absolute;left:0;top:0;display:flex;align-items:center;gap:10px;text-decoration:none;transform:translate(-9px,-50%);white-space:nowrap;padding:6px 4px}
.ttd-pin--l .ttd-pin__a{flex-direction:row-reverse;transform:translate(calc(-100% + 9px),-50%)}
.ttd-pin--u .ttd-pin__a{flex-direction:column;gap:2px;transform:translate(-50%,-9px)}
.ttd-pin--u .ttd-pin__card{bottom:auto;top:44px;transform:translate(-50%,-6px)}
.ttd-pin--u:hover .ttd-pin__card,.ttd-pin--u:focus-within .ttd-pin__card{transform:translate(-50%,0)}
.ttd-pin__dot{width:18px;height:18px;border-radius:50%;background:var(--d-roest);border:3px solid var(--d-ivoor);box-shadow:0 4px 14px rgba(46,39,33,.3);position:relative;flex:none;transition:transform .35s var(--d-ease)}
.ttd-pin__dot::before{content:"";position:absolute;inset:-9px;border-radius:50%;border:1px solid var(--d-roest);opacity:0;animation:ttdPulse 3.2s infinite;animation-delay:var(--d,0s)}
.ttd-pin__label{font-family:var(--d-serif);font-weight:500;font-size:clamp(1rem,1.6vw,1.3rem);color:var(--d-esp);text-shadow:0 0 6px var(--d-ivoor),0 0 2px var(--d-ivoor)}
.ttd-pin__a:hover .ttd-pin__dot,.ttd-pin__a:focus-visible .ttd-pin__dot{transform:scale(1.2)}
.ttd-pin__card{position:absolute;left:0;bottom:22px;transform:translate(-50%,6px);width:250px;background:var(--d-ivoor);border:1px solid var(--d-lijn);box-shadow:0 24px 50px -24px rgba(46,39,33,.45);padding:14px 16px;font-size:.82rem;line-height:1.5;color:var(--d-esp2);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s var(--d-ease);z-index:4;white-space:normal}
.ttd-pin--b .ttd-pin__card{bottom:auto;top:22px;transform:translate(-50%,-6px)}
.ttd-pin--l .ttd-pin__card{transform:translate(-80%,6px)}
.ttd-pin__card b{display:block;font-family:var(--d-serif);font-weight:500;font-size:1.2rem;color:var(--d-esp);margin-bottom:2px}
.ttd-pin__card span{display:block}
.ttd-pin__sat{margin-top:6px;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--d-roest)}
.ttd-pin:hover .ttd-pin__card,.ttd-pin:focus-within .ttd-pin__card{opacity:1;transform:translate(-50%,0)}
.ttd-pin--l:hover .ttd-pin__card,.ttd-pin--l:focus-within .ttd-pin__card{transform:translate(-80%,0)}
.ttd-pin:hover,.ttd-pin:focus-within{z-index:5}
.ttd-map figcaption{text-align:center;margin-top:18px}

/* ---------------- reviews ---------------- */
.ttd-rstrip{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--d-lijn);border-bottom:1px solid var(--d-lijn)}
.ttd-rstrip--5{grid-template-columns:repeat(5,1fr)}.ttd-rstrip--4{grid-template-columns:repeat(4,1fr)}.ttd-rstrip--3{grid-template-columns:repeat(3,1fr)}
.ttd-r{border-right:1px solid var(--d-lijn)}.ttd-r:last-child{border-right:0}
.ttd-r>a,.ttd-r>div{display:flex;flex-direction:column;align-items:center;gap:4px;padding:26px 10px;text-decoration:none;height:100%;transition:background .3s}
.ttd-r>a:hover{background:var(--d-zand2)}
.ttd-r__score{font-family:var(--d-serif);font-weight:500;font-size:2.3rem;line-height:1}
.ttd-r__name{font-family:var(--d-serif);font-size:1.15rem;margin-top:6px}
.ttd-r__n{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--d-esp2)}
.ttd-stars{position:relative;display:inline-block;width:max-content;align-self:center;font-size:.8rem;letter-spacing:.18em;line-height:1;color:var(--d-zand)}
.ttd-stars>span{position:relative;display:block}
.ttd-stars::after{content:"\2605\2605\2605\2605\2605";position:absolute;left:0;top:0;width:var(--v,0%);overflow:hidden;white-space:nowrap;color:var(--d-roest)}
.ttd-reviews__src{text-align:center;margin-top:16px}

/* ---------------- FAQ ---------------- */
.ttd-faq{max-width:860px;margin-inline:auto}
.ttd-faq__item{border-top:1px solid var(--d-lijn)}
.ttd-faq__item:last-child{border-bottom:1px solid var(--d-lijn)}
.ttd-faq__item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:22px 0;font-family:var(--d-serif);font-weight:500;font-size:clamp(1.2rem,1.7vw,1.42rem);line-height:1.3;color:var(--d-esp);transition:color .25s}
.ttd-faq__item summary::-webkit-details-marker{display:none}
.ttd-faq__item summary:hover{color:var(--d-roest)}
.ttd-faq__ic{position:relative;width:16px;height:16px;flex:none;margin-top:.45em}
.ttd-faq__ic::before,.ttd-faq__ic::after{content:"";position:absolute;left:0;top:50%;width:16px;height:1px;background:var(--d-roest);transition:transform .35s var(--d-ease)}
.ttd-faq__ic::after{transform:rotate(90deg)}
.ttd-faq__item[open] .ttd-faq__ic::after{transform:rotate(0)}
.ttd-faq__a{overflow:hidden;color:var(--d-esp2);font-weight:300;line-height:1.7;padding-right:40px}
.ttd-faq__a>*:first-child{margin-top:0}
.ttd-faq__a>*:last-child{margin-bottom:22px}
.ttd-faq__nav{max-width:860px;margin:0 auto 34px}
.ttd-faq__nav ul{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.ttd-faq__nav a{display:inline-block;border:1px solid var(--d-lijn);border-radius:999px;padding:7px 14px;font-size:.8rem;text-decoration:none;background:var(--d-ivoor);transition:background .25s,color .25s,border-color .25s}
.ttd-faq__nav a:hover{background:var(--d-esp);border-color:var(--d-esp);color:var(--d-ivoor)}
.ttd-faq__group+.ttd-faq__group{margin-top:clamp(40px,5vw,64px)}
.ttd-faq__group{scroll-margin-top:110px}
/* FAQ-zoekveld (feedback Dario pin 1534) */
.ttd-faq__search{max-width:860px;margin:0 0 28px}
.ttd-faq__search-label{display:block;font-family:var(--d-sans);font-weight:400;font-size:.74rem;letter-spacing:.32em;text-transform:uppercase;color:var(--d-roest);margin:0 0 10px}
.ttd-faq__search-field{position:relative}
.ttd-faq__search-ic{position:absolute;left:18px;top:50%;width:20px;height:20px;margin-top:-10px;background:var(--d-esp2);pointer-events:none;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M229.66,218.34l-50.07-50.06a88.11,88.11,0,1,0-11.31,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M229.66,218.34l-50.07-50.06a88.11,88.11,0,1,0-11.31,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z'/%3E%3C/svg%3E") center/contain no-repeat}
.ttd-faq__search #ttd-faq-q{width:100%;box-sizing:border-box;height:58px;padding:0 20px 0 52px;border:1px solid rgba(46,39,33,.28);border-radius:0;background:#fff;color:var(--d-esp);font-family:var(--d-sans);font-size:1rem;font-weight:400;transition:border-color .25s,box-shadow .25s;-webkit-appearance:none;appearance:none}
.ttd-faq__search #ttd-faq-q::placeholder{color:var(--d-esp2);opacity:.75}
.ttd-faq__search #ttd-faq-q:focus{outline:none;border-color:var(--d-roest);box-shadow:0 0 0 3px rgba(168,90,52,.18)}
.ttd-faq__search-status{min-height:1.4em;margin:10px 0 0;font-size:.85rem;color:var(--d-esp2)}
.ttd-faq__search-status:empty{min-height:0;margin:0}
.ttd-faq__search-empty{margin:12px 0 0;padding:18px 20px;background:var(--d-zand2);color:var(--d-esp);font-size:.95rem;line-height:1.6}
.ttd-faq__search-empty a{color:var(--d-roest)}
.ttd-faq__item[hidden],.ttd-faq__group[hidden],.ttd-faq__nav li[hidden],.ttd-faq__search-empty[hidden]{display:none!important}
.ttd-faq--all.is-filtered .ttd-faq__group+.ttd-faq__group{margin-top:28px}
.ttd-faq__h{font-family:var(--d-sans)!important;font-weight:400!important;font-size:.74rem!important;letter-spacing:.32em!important;text-transform:uppercase;color:var(--d-roest)!important;margin:0 0 14px!important}

/* ---------------- vacatures ---------------- */
.ttd-jobs__list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ttd-jobs__list.ttd-cols-2{grid-template-columns:repeat(2,1fr)}.ttd-jobs__list.ttd-cols-1{grid-template-columns:minmax(0,640px);justify-content:center}
.ttd-job a{display:flex;flex-direction:column;height:100%;border:1px solid var(--d-lijn);padding:28px;background:var(--d-ivoor);text-decoration:none;transition:border-color .3s,transform .4s var(--d-ease),box-shadow .4s}
.ttd-job a:hover{border-color:var(--d-esp);transform:translateY(-3px);box-shadow:0 22px 40px -30px rgba(46,39,33,.5)}
.ttd-job__t{font-family:var(--d-serif);font-weight:500;font-size:1.5rem;line-height:1.15;margin:0 0 .35em}
.ttd-job__m{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--d-roest);margin:0 0 .8em}
.ttd-job__s{font-size:.92rem;font-weight:300;color:var(--d-esp2);margin:0 0 1em}
.ttd-job__more{margin-top:auto;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase}
.ttd-jobs__none{text-align:center;color:var(--d-esp2)}
.ttd-spontaan{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;margin-top:32px;padding:30px clamp(24px,3vw,40px);background:var(--d-zand2);border-left:2px solid var(--d-roest)}
.ttd-spontaan h3{font-family:var(--d-serif);font-weight:500;font-size:1.6rem;margin:0 0 .3em}
.ttd-spontaan p{margin:0;max-width:620px;font-weight:300;color:var(--d-esp2)}

/* ---------------- events ---------------- */
.ttd-events{display:grid;gap:0;border-top:1px solid var(--d-lijn)}
.ttd-event{display:grid;grid-template-columns:90px 1fr auto;gap:28px;align-items:center;padding:26px 0;border-bottom:1px solid var(--d-lijn)}
.ttd-event__date{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;border:1px solid var(--d-esp);line-height:1}
.ttd-event__date b{font-family:var(--d-serif);font-weight:500;font-size:2.2rem}
.ttd-event__date span{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;margin-top:4px;color:var(--d-roest)}
.ttd-event h3{font-family:var(--d-serif);font-weight:500;font-size:1.5rem;margin:0 0 .2em}
.ttd-event h3 a{text-decoration:none}.ttd-event h3 a:hover{color:var(--d-roest)}
.ttd-event__m{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--d-esp2);margin:0}
.ttd-event__body p:not(.ttd-event__m){margin:.5em 0 0;font-weight:300;color:var(--d-esp2)}
.ttd-events--none{text-align:center;border:0;justify-items:center;gap:18px}
.ttd-events--none p{max-width:560px;margin:0 auto;color:var(--d-esp2)}

/* ---------------- inspiratie ---------------- */
.ttd-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,32px)}
.ttd-posts.ttd-cols-2{grid-template-columns:repeat(2,1fr)}.ttd-posts.ttd-cols-1{grid-template-columns:minmax(0,560px);justify-content:center}
.ttd-post a{display:block;text-decoration:none}
.ttd-post__ph{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--d-zand2)}
.ttd-post__ph img{width:100%;height:100%!important;object-fit:cover;transition:transform 1.4s var(--d-ease)}
.ttd-post a:hover img{transform:scale(1.04)}
.ttd-post__k{display:block;margin-top:16px;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--d-roest)}
.ttd-post__t{font-family:var(--d-serif);font-weight:500;font-size:1.5rem;line-height:1.18;margin:.3em 0 .35em}
.ttd-post__x{font-size:.92rem;font-weight:300;color:var(--d-esp2);margin:0 0 .9em}
.ttd-post__more{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:3px}

/* ---------------- contact ---------------- */
.ttd-contact__c{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 clamp(36px,4vw,56px);border-top:1px solid var(--d-lijn);border-bottom:1px solid var(--d-lijn)}
.ttd-contact__c>div{padding:26px 24px;border-right:1px solid var(--d-lijn)}.ttd-contact__c>div:last-child{border-right:0}
.ttd-contact__c dt{display:flex;align-items:center;gap:10px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--d-roest);margin-bottom:8px}
.ttd-contact__c dt .ttd-ic{color:var(--d-walnoot)}
.ttd-contact__c dd{margin:0;font-family:var(--d-serif);font-size:1.45rem}
.ttd-contact__c dd a{text-decoration:none;border-bottom:1px solid var(--d-lijn);transition:border-color .25s}
.ttd-contact__c dd a:hover{border-color:var(--d-roest)}
.ttd-tablewrap{overflow-x:auto}
.ttd-table{width:100%;border-collapse:collapse;font-size:.95rem}
.ttd-table caption{text-align:left;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--d-esp2);padding-bottom:12px}
.ttd-table th,.ttd-table td{text-align:left;padding:16px 14px 16px 0;border-bottom:1px solid var(--d-lijn);vertical-align:top;font-weight:300}
.ttd-table thead th{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:400;color:var(--d-esp2);border-bottom-color:var(--d-esp)}
.ttd-table tbody th{font-family:var(--d-serif);font-weight:500;font-size:1.3rem}
.ttd-table tbody th a{text-decoration:none}.ttd-table tbody th a:hover{color:var(--d-roest)}
.ttd-table tbody th small{display:block;font-family:var(--d-sans);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--d-walnoot);margin-top:4px}
.ttd-table td:last-child{text-align:right;white-space:nowrap}

/* ---------------- showroom: feitenbalk ---------------- */
.ttd-facts__grid{display:grid;grid-template-columns:repeat(4,1fr);margin:0;border-top:1px solid var(--d-lijn);border-bottom:1px solid var(--d-lijn)}
.ttd-facts__grid--5{grid-template-columns:repeat(5,1fr)}.ttd-facts__grid--3{grid-template-columns:repeat(3,1fr)}.ttd-facts__grid--2{grid-template-columns:repeat(2,1fr)}
.ttd-facts__grid>div{padding:24px 24px 22px;border-right:1px solid var(--d-lijn)}
.ttd-facts__grid>div:last-child{border-right:0}
.ttd-facts dt{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--d-roest);margin-bottom:8px}
.ttd-facts dd{margin:0;font-size:1rem;line-height:1.5;font-weight:400}
.ttd-facts dd .ttd-now{margin:0}
.ttd-facts__acts{display:flex;flex-wrap:wrap;gap:10px;padding-top:18px}
.ttd-act{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid var(--d-lijn);background:#fff;text-decoration:none;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;transition:border-color .25s,background .25s,color .25s}
.ttd-act .ttd-ic{width:18px;height:18px;color:var(--d-walnoot);transition:color .25s}
.ttd-act:hover{border-color:var(--d-esp)}
.ttd .ttd-act--fill{background:var(--d-roest);border-color:var(--d-roest);color:#fff}
.ttd .ttd-act--fill .ttd-ic{color:#fff}
.ttd .ttd-act--fill:hover{background:var(--d-roest-h);border-color:var(--d-roest-h)}

/* showroom: uren */
.ttd-hours>.ttd-now{margin:0 0 14px;font-size:.92rem}
.ttd-hours__t{width:100%;border-collapse:collapse;font-size:.98rem}
.ttd-hours__t th,.ttd-hours__t td{padding:12px 0;border-bottom:1px solid var(--d-lijn);font-weight:300;text-align:left}
.ttd-hours__t td{text-align:right}
.ttd-hours__t tr:first-child th,.ttd-hours__t tr:first-child td{border-top:1px solid var(--d-lijn)}
.ttd-hours__t tr.is-today th,.ttd-hours__t tr.is-today td{font-weight:500;color:var(--d-roest)}
.ttd-hours__today{margin-left:10px;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;border:1px solid currentColor;padding:2px 6px;vertical-align:2px}
.ttd-hours__n{display:inline-block;margin-left:10px;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--d-walnoot)}
.ttd-hours__x{margin-top:22px}
.ttd-hours__x h3{font-family:var(--d-sans)!important;font-weight:400!important;font-size:.7rem!important;letter-spacing:.22em!important;text-transform:uppercase;color:var(--d-roest)!important;margin:0 0 8px!important}
.ttd-hours__x li{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--d-lijn);font-size:.92rem}
.ttd-hours__x time{font-weight:400}

/* showroom: kaart */
.ttd-smap{position:relative;aspect-ratio:16/11;background:var(--d-zand2);border:1px solid var(--d-lijn);overflow:hidden}
.ttd-smap__ph{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10px;padding:clamp(16px,3vw,32px)}
.ttd-smap__ph .ttd-map__svg{position:static;width:100%;height:auto}
.ttd-smap .ttd-map__prov path{fill:var(--d-ivoor);stroke:var(--d-zand2)}
.ttd-smap .ttd-map__prov path.r-vl,.ttd-smap .ttd-map__prov path.r-bru{fill:var(--d-zand)}
.ttd-map__hl{fill:var(--d-roest);stroke:var(--d-ivoor);stroke-width:8}
.ttd-map__hl-ring{fill:none;stroke:var(--d-roest);stroke-width:3;transform-box:fill-box;transform-origin:center;animation:ttdPulse 3s infinite}
.ttd-smap__cta{display:grid;gap:12px;justify-items:start}
.ttd-smap__addr{margin:0;font-size:.92rem;font-weight:300;line-height:1.5;color:var(--d-esp2)}
.ttd-smap__addr b{display:block;font-family:var(--d-serif);font-weight:500;font-size:1.45rem;color:var(--d-esp);margin-bottom:2px}
.ttd-smap .ttd-note{margin:0;font-size:.74rem}
.ttd-smap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.35) sepia(.18);opacity:0;transition:opacity .6s}
.ttd-smap.is-loaded iframe{opacity:1}
.ttd-smap.is-loaded .ttd-smap__ph{opacity:0;pointer-events:none;transition:opacity .4s}
.ttd-smap__acts{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin:16px 0 24px}

/* showroom: reviews */
.ttd-sreviews{border:1px solid var(--d-lijn);background:#fff;padding:24px 26px}
.ttd-sreviews .ttd-kicker{margin-bottom:10px}
.ttd-sreviews__row{display:flex;align-items:center;gap:16px;margin:0 0 12px}
.ttd-sreviews__score{font-family:var(--d-serif);font-weight:500;font-size:3.2rem;line-height:1}
.ttd-sreviews__of{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:var(--d-esp2)}
.ttd-sreviews__of .ttd-stars{font-size:1rem;align-self:flex-start}
.ttd-sreviews .ttd-note{margin-top:14px}

/* tabellen: themastijl (randen, strepen) neutraliseren */
.ttd table,.ttd th,.ttd td{border:0}
.ttd table tbody>tr:nth-child(odd)>td,.ttd table tbody>tr:nth-child(odd)>th,.ttd table tbody tr:hover>td,.ttd table tbody tr:hover>th{background:transparent}
.ttd table{margin:0;border-collapse:collapse}
.ttd .ttd-table th,.ttd .ttd-table td,.ttd .ttd-hours__t th,.ttd .ttd-hours__t td{border:0;border-bottom:1px solid var(--d-lijn)}
.ttd .ttd-table thead th{border-bottom-color:var(--d-esp)}
.ttd .ttd-hours__t tr:first-child th,.ttd .ttd-hours__t tr:first-child td{border-top:1px solid var(--d-lijn)}
.ttd-contact__t caption{padding-top:0}

/* kruimelpad */
.ttd-crumbs{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;line-height:1.8;color:var(--d-esp2)}
.ttd-crumbs a{text-decoration:none;border-bottom:1px solid color-mix(in srgb,currentColor 45%,transparent);transition:border-color .25s}
.ttd-crumbs a:hover{border-color:currentColor}
.ttd-crumbs__sep{margin:0 .7em;opacity:.55}
.ttd-crumbs .breadcrumb_last,.ttd-crumbs [aria-current]{opacity:.8}
.ttd-crumbs--light{color:rgba(255,255,255,.85)}

/* ---------------- responsief ---------------- */
@media (max-width:1000px){
  .ttd-segs,.ttd-segs.ttd-cols-4,.ttd-storegrid,.ttd-storegrid--5,.ttd-storegrid--4,.ttd-jobs__list,.ttd-posts{grid-template-columns:repeat(2,1fr)}
  .ttd-rstrip,.ttd-rstrip--5,.ttd-rstrip--4{grid-template-columns:repeat(3,1fr)}
  .ttd-r:nth-child(3n){border-right:0}.ttd-r:nth-child(n+4){border-top:1px solid var(--d-lijn)}
  .ttd-facts__grid,.ttd-facts__grid--5{grid-template-columns:repeat(2,1fr)}
  .ttd-facts__grid>div:nth-child(2n){border-right:0}.ttd-facts__grid>div:nth-child(n+3){border-top:1px solid var(--d-lijn)}
  .ttd-store__more{opacity:1;transform:none}
}
@media (max-width:640px){
  .ttd-wrap{width:calc(100% - 32px)}
  .ttd-hero{height:min(64vh,600px);min-height:420px}
  .ttd-hero::after{background:linear-gradient(180deg,rgba(20,15,12,.38) 0%,rgba(20,15,12,.46) 40%,rgba(20,15,12,.8) 100%)}
  .ttd-hero__title{font-size:clamp(2.4rem,11vw,3.2rem)}
  .ttd-hero__text{font-size:1rem}
  .ttd-hero__h1{font-size:.66rem!important;letter-spacing:.22em!important}
  .ttd-hero__h1::before{width:22px}
  .ttd-hero__tag{left:16px;right:auto;bottom:14px}
  .ttd-hero__tag span:first-child{display:none}
  .ttd-hero__tag span+span::before{display:none}
  .ttd-scrollcue{display:none}
  .ttd-ctas .ttd-btn{flex:1 1 100%}
  .ttd-segs,.ttd-segs.ttd-cols-4,.ttd-segs.ttd-cols-2{grid-template-columns:1fr 1fr;gap:16px 14px}
  .ttd-seg__name{font-size:1.22rem}.ttd-seg__nr{display:none}.ttd-seg__sub{font-size:.8rem}
  .ttd-storegrid,.ttd-storegrid--5,.ttd-storegrid--4,.ttd-jobs__list,.ttd-posts,.ttd-posts.ttd-cols-2{grid-template-columns:1fr}
  .ttd-store__link{padding:24px 20px 20px}
  .ttd-store__name{font-size:1.6rem}
  .ttd-store__more{display:none}
  .ttd-rstrip,.ttd-rstrip--5,.ttd-rstrip--4,.ttd-rstrip--3{grid-template-columns:repeat(2,1fr)}
  .ttd-r,.ttd-r:nth-child(3n){border-right:1px solid var(--d-lijn)}.ttd-r:nth-child(2n){border-right:0}.ttd-r:nth-child(n+3){border-top:1px solid var(--d-lijn)}
  .ttd-r>a,.ttd-r>div{padding:20px 8px}
  .ttd-facts__grid,.ttd-facts__grid--5,.ttd-facts__grid--3{grid-template-columns:1fr}
  .ttd-facts__grid>div{border-right:0!important;padding:18px 0}
  .ttd-facts__grid>div+div{border-top:1px solid var(--d-lijn)}
  .ttd-facts__acts{display:grid;grid-template-columns:1fr 1fr}
  .ttd-act{justify-content:center;padding:13px 10px}
  .ttd-act--fill{grid-column:1/-1}
  .ttd-contact__c{grid-template-columns:1fr}
  .ttd-contact__c>div{border-right:0;padding:20px 0}.ttd-contact__c>div+div{border-top:1px solid var(--d-lijn)}
  .ttd-contact__t thead{display:none}
  .ttd-contact__t,.ttd-contact__t tbody,.ttd-contact__t tr,.ttd-contact__t th,.ttd-contact__t td{display:block;width:100%}
  .ttd-contact__t tr{padding:16px 0;border-bottom:1px solid var(--d-lijn)}
  .ttd-contact__t th,.ttd-contact__t td{border:0;padding:3px 0;text-align:left!important}
  .ttd-contact__t td[data-label]::before{content:attr(data-label);display:inline-block;min-width:92px;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--d-esp2)}
  .ttd-contact__t td:last-child{margin-top:8px}
  .ttd-event{grid-template-columns:64px 1fr;gap:18px}
  .ttd-event__date b{font-size:1.7rem}
  .ttd-event__cta{grid-column:2}
  .ttd-smap{aspect-ratio:auto}
  .ttd-smap__ph{position:relative;grid-template-columns:1fr;justify-items:center;text-align:center}
  .ttd-smap__ph .ttd-map__svg{max-width:220px}
  .ttd-smap__cta{justify-items:center}
  .ttd-smap.is-loaded{aspect-ratio:4/5}
  .ttd-smap.is-loaded .ttd-smap__ph{position:absolute}
  .ttd-pin__label{font-size:.9rem}
  .ttd-pin__dot{width:14px;height:14px;border-width:2px}
  .ttd-pin__a{transform:translate(-7px,-50%);gap:6px}
  .ttd-pin--l .ttd-pin__a{transform:translate(calc(-100% + 7px),-50%)}
  .ttd-pin__card{display:none}
  .ttd-faq__a{padding-right:0}
  .ttd-spontaan .ttd-btn{width:100%}
}
@media (max-width:640px){
  .ttd-jobs__list.ttd-cols-2,.ttd-jobs__list.ttd-cols-3{grid-template-columns:1fr}
  .ttd .ttd-contact__t th,.ttd .ttd-contact__t td{border:0}
  .ttd-contact__t caption{display:block;width:100%}
  .ttd-contact__t td[data-label]{display:grid!important;grid-template-columns:92px 1fr;align-items:baseline}
  .ttd-contact__t td[data-label]::before{min-width:0}
  .ttd-facts__acts{grid-template-columns:repeat(3,1fr)}
  .ttd-act__nr{display:none}
  .ttd-act{flex-direction:column;gap:6px;font-size:.68rem;letter-spacing:.14em}
  .ttd-act--fill{flex-direction:row}
  .ttd-facts--job .ttd-facts__grid{grid-template-columns:1fr 1fr}
  .ttd-facts--job .ttd-facts__grid>div{padding:16px 12px 16px 0}
  .ttd-facts--job .ttd-facts__grid>div+div{border-top:0}
  .ttd-facts--job .ttd-facts__grid>div:nth-child(n+3){border-top:1px solid var(--d-lijn)!important}
  .ttd-seg__sub{line-height:1.45}
}
@media (prefers-reduced-motion:reduce){
  .ttd *,.ttd *::before,.ttd *::after{animation:none!important;transition:none!important}
  .ttd-js [data-reveal]{opacity:1;transform:none}
}
.tt-static .ttd *,.tt-static .ttd *::before,.tt-static .ttd *::after,html.tt-static .ttd{animation:none!important;transition:none!important}
.tt-static [data-reveal]{opacity:1!important;transform:none!important}
/* QA-fase 28/09 (css-builder) AD-08: tap-doelen op mobiel minstens 44 px. */
@media (max-width:767px){
.ttd-link{display:inline-flex;align-items:center;min-height:44px;padding-bottom:0;border-bottom:0;text-decoration:underline;text-underline-offset:.45em;text-decoration-thickness:1px}
td .ttd-link,th a{min-height:0;display:inline-block;padding-block:14px;margin-block:-14px}
.ttd-smap__acts :is(a,button),.ttd-smap__cta .ttd-btn{min-height:44px}
.ttd .ttd-finder__geo,.ttd .ttd-finder__geo:hover,.ttd .ttd-finder__geo:focus{min-height:44px;display:inline-flex;align-items:center}
.ttd-contact__c dd a{display:inline-flex;align-items:center;min-height:44px}
}

/* BEH-08: seizoensfeature op de home in het Elementor-kader */
.tt-feature--season .ttd-feature{line-height:normal}
.tt-feature--season .ttd-feature img{display:block;width:100%;height:auto;max-width:none}
/* Fase 4 (AD-08): tap-doelen op de kaart minstens 44 px hoog */
.ttd-pin__a{min-height:44px;box-sizing:border-box}
/* Fase 4: kleine labels in de showroomlijst halen AA-contrast (4,5:1) ook op zand2 */
.ttd-store__sat{color:var(--tt-roest-hover,#8F4A29)}
.ttd-store__hq{color:var(--tt-espresso2,#5A4C41)}

/* ---------------------------------------------------------------- feedback Dario 29/09: winkelzoeker, knop 'Gebruik mijn locatie' duidelijker (pin 1475) */
.ttd .ttd-finder__geo,.ttd .ttd-finder__geo:focus{display:inline-flex;align-items:center;gap:.7em;margin-top:14px;min-height:3rem;padding:.9em 1.5em!important;border:1px solid var(--d-esp)!important;background:transparent!important;color:var(--d-esp)!important;font-family:var(--d-sans);font-weight:500;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase}
.ttd .ttd-finder__geo:hover,.ttd .ttd-finder__geo:focus-visible{background:var(--d-esp)!important;color:var(--d-ivoor)!important;border-color:var(--d-esp)!important}
.ttd-finder__geo-ic{width:1.25em;height:1.25em;flex:0 0 auto;background:currentColor;-webkit-mask:var(--tt-ic-nav) center/contain no-repeat;mask:var(--tt-ic-nav) center/contain no-repeat}
.ttd-finder__src[hidden]{display:none!important}


/* ---------------------------------------------------------------- feedback Dario 29/09: home-hero 70vh, inhoud verticaal gecentreerd,
   zwarte gradient naar transparant en een bredere tekstkolom (pins 1468, 1490) */
.ttd-hero{height:70vh;height:70svh;min-height:520px;max-height:none}
.ttd-hero::after{background:linear-gradient(90deg,rgba(12,9,7,.8) 0%,rgba(12,9,7,.56) 36%,rgba(12,9,7,.18) 66%,rgba(12,9,7,0) 88%),linear-gradient(180deg,rgba(12,9,7,.55) 0%,rgba(12,9,7,0) 30%,rgba(12,9,7,0) 62%,rgba(12,9,7,.45) 100%)}
.ttd-hero__in{justify-content:center;padding-top:var(--tt-hdr-h,120px);padding-bottom:clamp(40px,6vh,72px)}
.ttd-hero__title{max-width:22ch}
.ttd-hero__text{max-width:44rem}
@media (max-width:767px){
  .ttd-hero{height:auto;min-height:max(70svh,520px)}
  .ttd-hero__in{position:relative;inset:auto;min-height:max(70svh,520px);justify-content:flex-end;padding-top:calc(var(--tt-hdr-h,90px) + 24px);padding-bottom:64px}
  .ttd-hero::after{background:linear-gradient(180deg,rgba(12,9,7,.55) 0%,rgba(12,9,7,.42) 38%,rgba(12,9,7,.84) 100%)}
}
/* pin 1545: tekst van de actieknoppen (showroomfeiten) blijft leesbaar bij hover (geen roest-op-roest via de linkkleur) */
.ttd .ttd-act,.ttd .ttd-act:visited{color:var(--d-esp)}
.ttd .ttd-act:hover,.ttd .ttd-act:focus-visible{color:var(--d-esp);border-color:var(--d-esp);background:var(--d-ivoor)}
.ttd .ttd-act--fill,.ttd .ttd-act--fill:visited,.ttd .ttd-act--fill:hover,.ttd .ttd-act--fill:focus-visible{color:#fff}
.ttd .ttd-act--fill:hover,.ttd .ttd-act--fill:focus-visible{background:var(--d-roest-h);border-color:var(--d-roest-h)}
.ttd .ttd-act--fill:hover .ttd-ic,.ttd .ttd-act--fill:focus-visible .ttd-ic{color:#fff}
/* pin 1540: meer ruimte tussen categorie, titel en beschrijving in de artikelkaarten */

/* restronde: specifieker dan .tt-sec h3{margin:0} en .elementor-kit-6 h3 (beide 0,1,1), anders 0 px ruimte */
.ttd-post .ttd-post__k{margin-top:22px}
.ttd-post .ttd-post__t{margin:.65em 0 .6em;font-size:1.38rem;line-height:1.25}
.ttd-post .ttd-post__x{margin:0 0 1.2em;line-height:1.65}

/* ---------------------------------------------------------------- feedback Dario ronde 2 (30/09)
   1696: home-hero op 90vh zoals alle paginakoppen */
.ttd-hero{height:90vh;height:90svh;min-height:560px}
@media (max-width:767px){
  .ttd-hero{height:auto;min-height:max(90svh,560px)}
  .ttd-hero__in{min-height:max(90svh,560px)}
}
/* 1694 / 1701: accordeons sitebreed rustiger en duidelijker. Elke vraag een eigen vlak met binnenruimte,
   rond icoon (plus wordt min), open vraag met roestlijn links, antwoord groter en beter leesbaar onder een fijne lijn. */
.ttd-faq .ttd-faq__item{position:relative;border:1px solid rgba(46,39,33,.12);background:rgba(255,255,255,.5);transition:background .35s var(--d-ease),border-color .35s,box-shadow .35s}
.ttd-faq .ttd-faq__item + .ttd-faq__item{margin-top:.7rem}
.ttd-faq .ttd-faq__item:hover{border-color:rgba(46,39,33,.24);background:rgba(255,255,255,.72)}
.ttd-faq .ttd-faq__item[open]{background:#fff;border-color:rgba(46,39,33,.16);box-shadow:inset 3px 0 0 var(--d-roest),0 18px 40px -30px rgba(46,39,33,.45)}
.ttd-faq .ttd-faq__item summary{align-items:center;gap:1.5rem;padding:1.3rem 1.4rem 1.3rem 1.7rem;font-size:clamp(1.06rem,.98rem + .35vw,1.2rem);line-height:1.38}
.ttd-faq .ttd-faq__item summary:focus-visible{outline:2px solid var(--d-roest);outline-offset:-2px}
.ttd-faq .ttd-faq__item[open] summary{color:var(--d-esp)}
.ttd-faq .ttd-faq__ic{width:2.35rem;height:2.35rem;margin:0;border:1px solid rgba(46,39,33,.24);border-radius:50%;transition:background .35s var(--d-ease),border-color .35s}
.ttd-faq .ttd-faq__ic::before,.ttd-faq .ttd-faq__ic::after{left:50%;top:50%;width:.8rem;height:1.5px;margin:-.75px 0 0 -.4rem;background:var(--d-esp)}
.ttd-faq .ttd-faq__item summary:hover .ttd-faq__ic{border-color:var(--d-roest)}
.ttd-faq .ttd-faq__item[open] .ttd-faq__ic{background:var(--d-roest);border-color:var(--d-roest)}
.ttd-faq .ttd-faq__item[open] .ttd-faq__ic::before,.ttd-faq .ttd-faq__item[open] .ttd-faq__ic::after{background:#fff}
.ttd-faq .ttd-faq__a{margin:0 1.4rem 0 1.7rem;padding:0 3.4rem 0 0;border-top:1px solid rgba(46,39,33,.1);font-size:1rem;font-weight:400;line-height:1.75;color:var(--d-esp2)}
.ttd-faq .ttd-faq__a>*:first-child{margin-top:1.05rem}
.ttd-faq .ttd-faq__a>*:last-child{margin-bottom:1.45rem}
.ttd-faq .ttd-faq__a p+p{margin-top:.8em}
@media (max-width:640px){
  .ttd-faq .ttd-faq__item summary{gap:1rem;padding:1.1rem 1rem 1.1rem 1.2rem;font-size:1.04rem}
  .ttd-faq .ttd-faq__ic{width:2.1rem;height:2.1rem}
  .ttd-faq .ttd-faq__a{margin:0 1rem 0 1.2rem;padding:0;font-size:.97rem}
}

/* tt-chrome */
/* T&T Design: chrome (header, megamenu, mobiel menu, footer, WhatsApp-knop, 404). Eigenaar: rol chrome.
   Tokens komen uit tt.css (ui). De :where()-terugval hieronder heeft specificiteit 0, dus ui wint altijd. */
:where(:root){
  --tt-ivoor:#FAF6EF;--tt-zand:#EADFCD;--tt-zand2:#F3ECE0;--tt-taupe:#B9A88F;--tt-walnoot:#8A6B4E;--tt-roest:#A85A34;--tt-roest-hover:#8F4A29;
  --tt-espresso:#2E2721;--tt-espresso2:#5A4C41;--tt-lijn:rgba(46,39,33,.14);
  --tt-serif:"Fira Sans",system-ui,Arial,sans-serif;--tt-sans:"Jost",system-ui,sans-serif;
}
:root{
  --ttc-ease:cubic-bezier(.2,.7,.2,1);
  --ttc-side:max(clamp(20px,3.4vw,56px),calc((100% - 1320px) / 2));
  --ttc-top-h:36px;--ttc-bar-h:84px;
  --ttc-licht:#F0E4D2;
}
@media (max-width:1024px){:root{--ttc-top-h:32px;--ttc-bar-h:66px}}

/* ------------------------------------------------------------------ basis en offset */
html{scroll-padding-top:calc(var(--ttc-bar-h) + 16px)}
body.tt-chrome{padding-top:var(--tt-hdr-h,calc(var(--ttc-top-h) + var(--ttc-bar-h)))}
body.tt-chrome.tt-has-hero,
body.tt-chrome:has(.tt-hero,[data-tt-hero]){padding-top:0}
html.tt-menu-open,html.tt-menu-open body{overflow:hidden}
.tt-hdr .screen-reader-text,.tt-ftr .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* Elementor-containers binnen de chrome: geen standaard padding of gap. */
.tt-hdr.e-con,.tt-hdr .e-con,.tt-ftr.e-con,.tt-ftr .e-con,.tt-404.e-con,.tt-404 .e-con{
  --padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;--gap:0;--row-gap:0;--column-gap:0;
  --margin-top:0;--margin-bottom:0;min-height:0}
.tt-hdr .elementor-widget,.tt-ftr .elementor-widget,.tt-404 .elementor-widget{margin:0;--kit-widget-spacing:0}
.tt-hdr p,.tt-ftr p,.tt-404 p{margin:0}
.tt-hdr a,.tt-ftr a,.tt-404 a{text-decoration:none}
.tt-hdr :focus-visible,.tt-ftr :focus-visible,.tt-404 :focus-visible,.tt-wa:focus-visible{outline:2px solid var(--tt-roest);outline-offset:3px}

/* ------------------------------------------------------------------ header */
.elementor-location-header .tt-hdr.e-con{
  position:fixed;top:0;left:0;right:0;width:100%;z-index:60;display:block;
  color:var(--tt-espresso);
  transition:transform .55s var(--ttc-ease),color .4s ease;
  will-change:transform}
.admin-bar .elementor-location-header .tt-hdr.e-con{top:var(--wp-admin--admin-bar--height,32px)}
@media (max-width:600px){.admin-bar .elementor-location-header .tt-hdr.e-con{top:0}}
.tt-hdr::before{content:"";position:absolute;left:0;right:0;top:0;height:180%;pointer-events:none;opacity:0;transition:opacity .5s ease;
  background:linear-gradient(180deg,rgba(20,15,12,.55) 0%,rgba(20,15,12,.22) 55%,rgba(20,15,12,0) 100%)}
.tt-hdr.is-scrolled{transform:translateY(calc(-1 * var(--ttc-top-h)))}
.tt-hdr.is-hidden{transform:translateY(-100%)}

/* topbalk */
.tt-hdr .tt-topbar.e-con{position:relative;display:flex;flex-direction:row;justify-content:center;align-items:center;height:var(--ttc-top-h);
  background:var(--tt-zand);color:var(--tt-espresso2);border-bottom:1px solid transparent;
  transition:background-color .45s ease,color .45s ease,border-color .45s ease}
.tt-topbar__item{display:flex;align-items:center}
.tt-hdr .tt-topbar__item .elementor-heading-title{font-family:var(--tt-sans)!important;font-weight:400!important;font-size:.66rem!important;line-height:1!important;
  letter-spacing:.28em!important;text-transform:uppercase;color:inherit!important;white-space:nowrap}
.tt-topbar__item+.tt-topbar__item::before{content:"";width:3px;height:3px;border-radius:50%;background:var(--tt-taupe);margin:0 clamp(18px,3.4vw,54px)}

/* balk */
.tt-hdr .tt-bar.e-con{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:var(--ttc-bar-h);
  padding-inline:var(--ttc-side);background:rgba(250,246,239,.97);border-bottom:1px solid var(--tt-lijn);
  transition:background-color .45s ease,border-color .45s ease,box-shadow .45s ease}
.tt-hdr.is-scrolled .tt-bar.e-con{box-shadow:0 18px 40px -34px rgba(46,39,33,.5)}
@supports (backdrop-filter:blur(8px)){.tt-hdr .tt-bar.e-con{background:rgba(250,246,239,.9);backdrop-filter:saturate(1.2) blur(12px)}}
.tt-hdr .tt-bar__l.e-con,.tt-hdr .tt-bar__r.e-con,.tt-hdr .tt-bar__m.e-con{display:flex;flex-direction:row;align-items:center;width:auto}
.tt-hdr .tt-bar__l.e-con{justify-content:flex-start}
.tt-hdr .tt-bar__m.e-con{justify-content:center}
.tt-hdr .tt-bar__r.e-con{justify-content:flex-end;gap:clamp(20px,2.4vw,36px)}

/* navigatie (Elementor Nav Menu) */
.tt-nav .elementor-nav-menu--dropdown,.tt-nav .elementor-menu-toggle{display:none!important}
.tt-nav .elementor-nav-menu{display:flex;flex-direction:row;gap:clamp(20px,2.3vw,38px);margin:0;padding:0;list-style:none}
.tt-nav .elementor-nav-menu>li{display:flex}
.tt-hdr .tt-nav .elementor-nav-menu .elementor-item{
  font-family:var(--tt-sans)!important;font-weight:400!important;font-size:.72rem!important;line-height:1!important;letter-spacing:.22em!important;
  text-transform:uppercase;color:inherit!important;padding:12px 0!important;margin:0;display:inline-flex;align-items:center;
  background:linear-gradient(var(--tt-roest),var(--tt-roest)) no-repeat right calc(100% - 4px)/0 1px;
  transition:background-size .5s var(--ttc-ease),color .3s ease}
.tt-hdr .tt-nav .elementor-item:hover,.tt-hdr .tt-nav .elementor-item:focus-visible,
.tt-hdr .tt-nav .elementor-item.elementor-item-active,.tt-hdr .tt-nav .elementor-item[aria-expanded="true"]{background-size:100% 1px;background-position-x:left}
.tt-hdr .tt-nav .tt-mega-trigger>.elementor-item::after{content:""!important;display:block!important;position:static!important;opacity:1!important;background:none!important;flex:none;width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;
  margin-left:.75em;transform:translateY(-2px) rotate(45deg);transition:transform .4s var(--ttc-ease)}
.tt-hdr .tt-nav .tt-mega-trigger>.elementor-item[aria-expanded="true"]::after{transform:translateY(1px) rotate(-135deg)}

/* woordmerk (tijdelijk, tot het logobestand in het mediamanifest staat) */
.tt-logo--woord .elementor-heading-title{font-family:var(--tt-sans)!important;font-weight:300!important;line-height:1!important;color:inherit!important;margin:0}
.tt-logo--woord .elementor-heading-title a{display:flex;flex-direction:column;align-items:center;color:inherit!important;padding:6px 0}
.tt-logo__tt{font-size:.86rem;letter-spacing:.92em;margin-right:-.92em;white-space:nowrap}
/* logo-ampersand blijft de Cormorant-vorm uit het logo (enkel het &-teken wordt geladen) */
@font-face{font-family:"TT Logo Amp";src:url("https://ttdesign.swift.be/wp-content/uploads/tt-fonts/cormorant-garamond-latin.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap;unicode-range:U+0026}
.tt-logo__amp{font-family:"TT Logo Amp",Georgia,serif;font-weight:500;font-size:1.22em;letter-spacing:0;margin:0 .42em 0 -.34em;color:var(--tt-walnoot);transition:color .45s ease}
.tt-logo__dz{font-size:1.52rem;letter-spacing:.56em;margin-right:-.56em;margin-top:.3em;text-transform:uppercase}
.tt-logo--beeld img{height:52px;width:auto;max-width:none;display:block}
.tt-logo--beeld .elementor-widget-image{text-align:left}
.tt-ftr .tt-logo--beeld img{height:60px}
.tt-logo--beeld .tt-logo__img--licht{display:none}
@media (max-width:1024px){.tt-logo__tt{font-size:.72rem}.tt-logo__dz{font-size:1.18rem}.tt-logo--beeld img{height:42px}}

/* knop Adviesgesprek */
.tt-hdr .tt-hdr-cta .elementor-button{
  background:transparent!important;color:inherit!important;border:1px solid currentColor!important;border-radius:0!important;box-shadow:none!important;
  font-family:var(--tt-sans)!important;font-weight:500!important;font-size:.7rem!important;line-height:1!important;letter-spacing:.2em!important;
  text-transform:uppercase;padding:13px 20px!important;transition:background-color .35s ease,color .35s ease,border-color .35s ease}
.tt-hdr .tt-hdr-cta .elementor-button:hover,.tt-hdr .tt-hdr-cta .elementor-button:focus-visible{background:var(--tt-espresso)!important;border-color:var(--tt-espresso)!important;color:var(--tt-ivoor)!important}

/* burger */
.tt-hdr .tt-bar__r .tt-burger-w.elementor-widget{display:none}
.tt-hdr button.tt-burger,.tt-hdr button.tt-burger:hover,.tt-hdr button.tt-burger:focus{
  display:inline-flex;align-items:center;gap:12px;background:none!important;border:0!important;border-radius:0;box-shadow:none;padding:12px 0;margin:0;
  color:inherit!important;cursor:pointer;font-family:var(--tt-sans);font-weight:400;font-size:.68rem;line-height:1;letter-spacing:.22em;text-transform:uppercase}
.tt-burger__lines{position:relative;width:24px;height:11px;display:block}
.tt-burger__lines span{position:absolute;left:0;right:0;height:1px;background:currentColor;transition:transform .45s var(--ttc-ease),top .45s var(--ttc-ease),width .45s var(--ttc-ease)}
.tt-burger__lines span:first-child{top:0}.tt-burger__lines span:last-child{top:10px;width:70%}
.tt-burger[aria-expanded="true"] .tt-burger__lines span{top:5px;width:100%}
.tt-burger[aria-expanded="true"] .tt-burger__lines span:first-child{transform:rotate(45deg)}
.tt-burger[aria-expanded="true"] .tt-burger__lines span:last-child{transform:rotate(-45deg)}

/* transparant over een hero */
.elementor-location-header .tt-hdr.e-con.is-over{color:var(--tt-ivoor)}
.tt-hdr.is-over::before{opacity:1}
.tt-hdr.is-over .tt-topbar.e-con{background:transparent;color:rgba(250,246,239,.84);border-bottom-color:rgba(250,246,239,.16)}
.tt-hdr.is-over .tt-topbar__item+.tt-topbar__item::before{background:rgba(250,246,239,.55)}
.tt-hdr.is-over .tt-bar.e-con{background:transparent;border-bottom-color:rgba(250,246,239,.2);backdrop-filter:none;box-shadow:none}
.tt-hdr.is-over .tt-logo__amp{color:var(--ttc-licht)}
.tt-hdr.is-over .tt-nav .elementor-item{background-image:linear-gradient(var(--ttc-licht),var(--ttc-licht))}
.tt-hdr.is-over .tt-hdr-cta .elementor-button:hover,.tt-hdr.is-over .tt-hdr-cta .elementor-button:focus-visible{background:var(--tt-ivoor)!important;border-color:var(--tt-ivoor)!important;color:var(--tt-espresso)!important}
.tt-hdr.is-over .tt-logo--beeld .tt-logo__img--donker{display:none}
.tt-hdr.is-over .tt-logo--beeld .tt-logo__img--licht{display:block}

/* ------------------------------------------------------------------ megamenu */
.tt-hdr .tt-mega.e-con{position:absolute;left:0;right:0;top:100%;display:block;background:var(--tt-ivoor);color:var(--tt-espresso);
  border-bottom:1px solid var(--tt-lijn);box-shadow:0 50px 90px -60px rgba(46,39,33,.55);
  max-height:calc(100vh - var(--tt-hdr-vis,120px));overflow-y:auto;overscroll-behavior:contain;
  visibility:hidden;opacity:0;transform:translateY(-8px);pointer-events:none;
  transition:opacity .35s ease,transform .5s var(--ttc-ease),visibility 0s linear .5s}
.tt-hdr.is-mega .tt-mega.e-con{visibility:visible;opacity:1;transform:none;pointer-events:auto;transition-delay:0s}
.tt-hdr .tt-mega__wrap.e-con{display:block;padding:34px var(--ttc-side) 0}
.tt-hdr .tt-mega__grid.e-con{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 28px}
.tt-hdr .tt-mega__tile.e-con{display:flex;flex-direction:column;color:var(--tt-espresso);
  opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .7s var(--ttc-ease)}
.tt-hdr.is-mega .tt-mega__tile.e-con{opacity:1;transform:none}
.tt-hdr.is-mega .tt-mega__tile:nth-child(1){transition-delay:.04s}.tt-hdr.is-mega .tt-mega__tile:nth-child(2){transition-delay:.08s}
.tt-hdr.is-mega .tt-mega__tile:nth-child(3){transition-delay:.12s}.tt-hdr.is-mega .tt-mega__tile:nth-child(4){transition-delay:.16s}
.tt-hdr.is-mega .tt-mega__tile:nth-child(5){transition-delay:.2s}.tt-hdr.is-mega .tt-mega__tile:nth-child(6){transition-delay:.24s}
.tt-hdr.is-mega .tt-mega__tile:nth-child(7){transition-delay:.28s}.tt-hdr.is-mega .tt-mega__tile:nth-child(8){transition-delay:.32s}
.tt-mega__img{overflow:hidden;aspect-ratio:16/10;background:var(--tt-zand2)}
.tt-mega__img img{width:100%!important;height:100%!important;max-width:none;object-fit:cover;display:block;transition:transform 1.4s var(--ttc-ease),filter .5s ease}
.tt-mega__tile:hover .tt-mega__img img,.tt-mega__tile:focus-visible .tt-mega__img img{transform:scale(1.045)}
.tt-hdr .tt-mega__tile.e-con:not(:has(.tt-mega__img))::after{content:"";display:block;position:static;order:-1;width:100%;aspect-ratio:16/10;background:linear-gradient(135deg,var(--tt-zand2),var(--tt-zand))}
.tt-hdr .tt-mega__name .elementor-heading-title{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--tt-espresso);margin-top:14px;padding-top:12px;
  font-family:var(--tt-serif)!important;font-weight:500!important;font-size:1.34rem!important;line-height:1.15!important;color:var(--tt-espresso)!important;letter-spacing:0!important}
.tt-hdr .tt-mega__name .elementor-heading-title::after{content:"";display:inline-block;width:1.15em;height:1.15em;vertical-align:-.2em;background:var(--tt-roest);-webkit-mask:var(--tt-arrow) center/contain no-repeat;mask:var(--tt-arrow) center/contain no-repeat;font-family:var(--tt-sans);font-size:.9rem;color:var(--tt-roest);opacity:0;transform:translateX(-8px);transition:opacity .35s ease,transform .45s var(--ttc-ease)}
.tt-mega__tile:hover .tt-mega__name .elementor-heading-title::after,.tt-mega__tile:focus-visible .tt-mega__name .elementor-heading-title::after{opacity:1;transform:none}
.tt-hdr .tt-mega__sub .elementor-heading-title{display:block;margin-top:5px;font-family:var(--tt-sans)!important;font-weight:300!important;font-size:.84rem!important;line-height:1.45!important;color:var(--tt-espresso2)!important;letter-spacing:0!important}
.tt-hdr .tt-mega__tile--buitenland .tt-mega__name .elementor-heading-title{color:var(--tt-walnoot)!important}
.tt-hdr .tt-mega__foot.e-con{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
  border-top:1px solid var(--tt-lijn);margin-top:32px;padding:20px 0 24px}
.tt-mega__foot-txt,.tt-mega__foot-txt p{font-family:var(--tt-sans);font-weight:300;font-size:.92rem;color:var(--tt-espresso2)}
.tt-hdr .tt-mega__foot-links.e-con{display:flex;flex-direction:row;gap:32px;width:auto}

/* tekstlinks (knopwidget als link) */
.tt-textlink .elementor-button{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0 0 4px!important;
  color:var(--tt-espresso)!important;font-family:var(--tt-sans)!important;font-weight:500!important;font-size:.72rem!important;line-height:1.2!important;
  letter-spacing:.2em!important;text-transform:uppercase;
  background-image:linear-gradient(currentColor,currentColor)!important;background-repeat:no-repeat!important;background-size:100% 1px!important;background-position:left bottom!important;
  transition:background-size .5s var(--ttc-ease),color .3s ease}
.tt-textlink .elementor-button:hover{background-size:0 1px!important;background-position:right bottom!important}
.tt-textlink--roest .elementor-button{color:var(--tt-roest)!important}
.tt-textlink--licht .elementor-button{color:var(--tt-ivoor)!important}

/* chrome-knoppen (mobiel menu, 404) volgens het design system */
.tt-cbtn .elementor-button{display:inline-flex;align-items:center;justify-content:center;border-radius:0!important;box-shadow:none!important;
  font-family:var(--tt-sans)!important;font-weight:500!important;font-size:.76rem!important;line-height:1!important;letter-spacing:.2em!important;text-transform:uppercase;
  padding:17px 26px!important;border:1px solid var(--tt-espresso)!important;background:transparent!important;color:var(--tt-espresso)!important;
  transition:background-color .35s ease,color .35s ease,border-color .35s ease}
.tt-cbtn .elementor-button:hover,.tt-cbtn .elementor-button:focus-visible{background:var(--tt-espresso)!important;color:var(--tt-ivoor)!important}
.tt-cbtn--fill .elementor-button{background:var(--tt-roest)!important;border-color:var(--tt-roest)!important;color:#fff!important}
.tt-cbtn--fill .elementor-button:hover,.tt-cbtn--fill .elementor-button:focus-visible{background:var(--tt-roest-hover)!important;border-color:var(--tt-roest-hover)!important;color:#fff!important}
.tt-cbtn .elementor-button-text::after{content:"";display:inline-block;width:1.15em;height:1.15em;vertical-align:-.2em;background:currentColor;-webkit-mask:var(--tt-arrow) center/contain no-repeat;mask:var(--tt-arrow) center/contain no-repeat;margin-left:.8em;transition:transform .35s var(--ttc-ease)}
.tt-cbtn .elementor-button:hover .elementor-button-text::after{transform:translateX(4px)}

/* ------------------------------------------------------------------ mobiel menu */
.tt-hdr .tt-mobile.e-con{position:absolute;left:0;right:0;top:100%;display:block;height:calc(100vh - var(--tt-hdr-vis,98px));height:calc(100dvh - var(--tt-hdr-vis,98px));
  background:var(--tt-ivoor);color:var(--tt-espresso);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  visibility:hidden;opacity:0;pointer-events:none;transition:opacity .4s ease,visibility 0s linear .4s}
.tt-hdr.is-menu .tt-mobile.e-con{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s}
.tt-hdr .tt-mobile__inner.e-con{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;padding:26px var(--ttc-side) calc(40px + env(safe-area-inset-bottom))}
.tt-hdr .tt-mobile__sec.e-con{display:block;padding:22px 0 24px;border-bottom:1px solid var(--tt-lijn);
  opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .7s var(--ttc-ease)}
.tt-hdr.is-menu .tt-mobile__sec.e-con{opacity:1;transform:none}
.tt-hdr.is-menu .tt-mobile__sec:nth-child(2){transition-delay:.07s}.tt-hdr.is-menu .tt-mobile__sec:nth-child(3){transition-delay:.12s}.tt-hdr.is-menu .tt-mobile__sec:nth-child(4){transition-delay:.17s}
.tt-hdr .tt-mobile__sec--ontdek.e-con,.tt-hdr .tt-mobile__sec--contact.e-con{grid-column:1/-1}
.tt-hdr .tt-mobile__sec--contact.e-con{border-bottom:0}
.tt-hdr .tt-mobile__k .elementor-heading-title{display:block;margin-bottom:14px;font-family:var(--tt-sans)!important;font-weight:400!important;font-size:.68rem!important;line-height:1!important;letter-spacing:.3em!important;text-transform:uppercase;color:var(--tt-roest)!important}
.tt-mobile__nav .elementor-nav-menu--dropdown,.tt-mobile__nav .elementor-menu-toggle{display:none!important}
.tt-mobile__nav .elementor-nav-menu{display:block;margin:0;padding:0;list-style:none}
.tt-hdr .tt-mobile__nav .elementor-item{display:block;padding:7px 0!important;color:var(--tt-espresso)!important;background:none!important;
  font-family:var(--tt-sans)!important;font-weight:300!important;font-size:1rem!important;line-height:1.35!important;letter-spacing:0!important;text-transform:none}
.tt-hdr .tt-mobile__nav--groot .elementor-nav-menu{display:grid;grid-template-columns:1fr 1fr;column-gap:40px}
.tt-hdr .tt-mobile__nav--groot .elementor-item{font-family:var(--tt-serif)!important;font-weight:500!important;font-size:1.6rem!important;line-height:1.2!important;padding:8px 0!important}
.tt-hdr .tt-mobile__nav--groot .menu-item:last-child .elementor-item{color:var(--tt-walnoot)!important}
.tt-hdr .tt-mobile__nav--cols .elementor-nav-menu{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}
.tt-hdr .tt-mobile__nav .elementor-item:hover{color:var(--tt-roest)!important}
.tt-hdr .tt-mobile__nav .elementor-item.elementor-item-active{color:var(--tt-roest)!important}
.tt-mobile__contact p{font-family:var(--tt-serif);font-weight:500;font-size:1.5rem;line-height:1.35}
.tt-mobile__contact a{color:var(--tt-espresso)}
.tt-mobile__contact a[href^="mailto"]{font-family:var(--tt-sans);font-weight:300;font-size:1rem}
.tt-hdr .tt-mobile__ctas.e-con{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;margin-top:22px}
@media (max-width:767px){
  .tt-hdr .tt-mobile__inner.e-con{grid-template-columns:1fr;padding-top:10px}
  .tt-hdr .tt-mobile__nav--groot .elementor-nav-menu{grid-template-columns:1fr}
  .tt-hdr .tt-mobile__nav--groot .elementor-item{font-size:1.72rem!important;padding:6px 0!important}
  .tt-hdr .tt-mobile__ctas.e-con{flex-direction:column}
  .tt-hdr .tt-mobile__ctas .elementor-widget,.tt-hdr .tt-mobile__ctas .elementor-button{width:100%}
}

/* ------------------------------------------------------------------ header responsief */
@media (max-width:1024px){
  .tt-hdr .tt-bar.e-con{grid-template-columns:1fr auto}
  .tt-hdr .tt-bar__l.e-con,.tt-hdr .tt-bar__r .tt-nav--r.elementor-widget{display:none!important}
  .tt-hdr .tt-bar__m.e-con{justify-content:flex-start}
  .tt-logo--woord .elementor-heading-title a{align-items:flex-start}
  .tt-hdr .tt-bar__r .tt-burger-w.elementor-widget{display:block}
  .tt-hdr .tt-mega.e-con{display:none}
  /* topbalk: de drie USP's wisselen rustig af */
  .tt-hdr .tt-topbar.e-con{display:grid;place-items:center;overflow:hidden}
  .tt-topbar__item{grid-area:1/1;opacity:0;transform:translateY(6px);transition:opacity .7s ease,transform .8s var(--ttc-ease)}
  .tt-topbar__item.is-active{opacity:1;transform:none}
  .tt-topbar__item+.tt-topbar__item::before{display:none}
  .tt-hdr .tt-topbar__item .elementor-heading-title{font-size:.62rem!important;letter-spacing:.24em!important}
}
@media (min-width:1025px){.tt-hdr .tt-mobile.e-con{display:none}}
@media (min-width:1025px) and (max-width:1240px){
  .tt-nav .elementor-nav-menu{gap:18px}
  .tt-hdr .tt-nav .elementor-nav-menu .elementor-item{letter-spacing:.16em!important;font-size:.68rem!important}
  .tt-hdr .tt-bar__r.e-con{gap:18px}
  .tt-hdr .tt-hdr-cta .elementor-button{padding:12px 14px!important;letter-spacing:.16em!important}
  .tt-logo__dz{font-size:1.3rem}
}
@media (min-width:1025px) and (max-height:860px){.tt-mega__img,.tt-hdr .tt-mega__tile.e-con:not(:has(.tt-mega__img))::after{aspect-ratio:2/1}.tt-hdr .tt-mega__wrap.e-con{padding-top:26px}}
@media (max-width:767px){.tt-hdr .tt-bar__r .tt-hdr-cta.elementor-widget{display:none!important}}

/* ------------------------------------------------------------------ footer */
.tt-ftr.e-con{display:block;background:var(--tt-espresso);color:rgba(250,246,239,.76)}
.tt-ftr .tt-ftr__wrap.e-con{display:block;padding:clamp(64px,8vw,112px) var(--ttc-side) 34px}
.tt-ftr .tt-ftr__grid.e-con{display:grid;grid-template-columns:minmax(0,1.55fr) repeat(3,minmax(0,1fr));gap:48px}
.tt-ftr .tt-ftr__brand.e-con{display:flex;flex-direction:column;align-items:flex-start;gap:0;max-width:420px}
.tt-ftr .tt-logo--woord{color:var(--tt-ivoor)}
.tt-ftr .tt-logo--woord .elementor-heading-title a{align-items:flex-start;padding:0}
.tt-ftr .tt-logo__amp{color:var(--tt-taupe)}
.tt-ftr .tt-logo--beeld .tt-logo__img--donker{display:none}.tt-ftr .tt-logo--beeld .tt-logo__img--licht{display:block}
.tt-ftr .tt-ftr__tag .elementor-heading-title{margin-top:30px;font-family:var(--tt-serif)!important;font-weight:400!important;font-size:clamp(1.8rem,2.6vw,2.35rem)!important;line-height:1.1!important;color:var(--tt-ivoor)!important;letter-spacing:-.005em!important}
.tt-ftr .tt-acc{color:var(--tt-taupe)}
.tt-ftr .tt-ftr__tag .tt-acc{display:block}
.tt-ftr__txt p{margin-top:16px;font-family:var(--tt-sans);font-weight:300;font-size:.94rem;line-height:1.7;color:rgba(250,246,239,.72)}
.tt-ftr__contact p{margin-top:22px;font-family:var(--tt-serif);font-weight:500;font-size:1.4rem;line-height:1.45}
.tt-ftr__contact a{color:var(--tt-ivoor);background:linear-gradient(currentColor,currentColor) no-repeat left bottom/0 1px;transition:background-size .5s var(--ttc-ease)}
.tt-ftr__contact a:hover{background-size:100% 1px}
.tt-ftr__contact a[href^="mailto"]{font-family:var(--tt-sans);font-weight:300;font-size:.98rem}
.tt-ftr .tt-ftr__col.e-con{display:flex;flex-direction:column;align-items:flex-start}
.tt-ftr .tt-ftr__h .elementor-heading-title{display:block;margin:0 0 16px;font-family:var(--tt-sans)!important;font-weight:400!important;font-size:.68rem!important;line-height:1!important;letter-spacing:.3em!important;text-transform:uppercase;color:var(--tt-taupe)!important}
.tt-ftr__nav .elementor-nav-menu--dropdown,.tt-ftr__nav .elementor-menu-toggle,.tt-ftr__legal-nav .elementor-nav-menu--dropdown,.tt-ftr__legal-nav .elementor-menu-toggle{display:none!important}
.tt-ftr__nav .elementor-nav-menu{display:block;margin:0;padding:0;list-style:none}
.tt-ftr .tt-ftr__nav .elementor-item{display:inline-block;padding:5px 0!important;color:rgba(250,246,239,.76)!important;
  font-family:var(--tt-sans)!important;font-weight:300!important;font-size:.93rem!important;line-height:1.5!important;letter-spacing:0!important;text-transform:none;
  background:linear-gradient(currentColor,currentColor) no-repeat left calc(100% - 3px)/0 1px!important;transition:background-size .5s var(--ttc-ease),color .3s ease}
.tt-ftr .tt-ftr__nav .elementor-item:hover,.tt-ftr .tt-ftr__nav .elementor-item:focus-visible{color:var(--tt-ivoor)!important;background-size:100% 1px!important}
.tt-ftr .tt-ftr__nav .elementor-item.elementor-item-active{color:var(--tt-ivoor)!important}
.tt-ftr .tt-ftr__col .tt-textlink{margin-top:16px}
.tt-ftr .tt-ftr__col .tt-textlink .elementor-button{font-size:.66rem!important;color:var(--tt-taupe)!important}
/* nieuwsbriefregel */
.tt-ftr .tt-ftr__news.e-con{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:24px 56px;margin-top:64px;padding:30px 0;
  border-top:1px solid rgba(250,246,239,.14);border-bottom:1px solid rgba(250,246,239,.14)}
.tt-ftr .tt-ftr__news-l.e-con{display:flex;flex-direction:column;align-items:flex-start}
.tt-ftr .tt-ftr__news-l .tt-ftr__h .elementor-heading-title{margin-bottom:10px}
.tt-ftr .tt-ftr__news-t .elementor-heading-title{font-family:var(--tt-serif)!important;font-weight:400!important;font-size:1.45rem!important;line-height:1.25!important;color:var(--tt-ivoor)!important;letter-spacing:0!important}
.tt-ftr__news-form{justify-self:end;width:100%;max-width:520px}
.tt-ftr__news-form .elementor-shortcode{color:var(--tt-ivoor)}
.tt-news-fallback{display:flex;justify-content:flex-end}
.tt-news-fallback__btn{display:inline-flex;align-items:center;gap:.8em;padding:16px 26px;border:1px solid rgba(250,246,239,.5);color:var(--tt-ivoor)!important;
  font-family:var(--tt-sans);font-weight:500;font-size:.74rem;line-height:1;letter-spacing:.2em;text-transform:uppercase;transition:background-color .35s ease,color .35s ease}
.tt-news-fallback__btn:hover{background:var(--tt-ivoor);color:var(--tt-espresso)!important}
/* [tt_newsletter variant="footer"] van ui: kleuren voor de donkere footer */
.tt-ftr .tt-news{max-width:none;margin:0;text-align:left}
.tt-ftr .tt-ftr__news-form{padding:0!important;margin:0!important}
.tt-ftr .tt-ftr__news-form>*{margin-top:0!important}
.tt-ftr .tt-news__form{margin-top:0!important}
.tt-ftr .tt-news__row{border-bottom-color:rgba(250,246,239,.38)}
.tt-ftr .tt-news__row:focus-within{border-bottom-color:var(--tt-taupe)}
.tt-ftr .tt-news__row input{color:var(--tt-ivoor)!important;caret-color:var(--tt-taupe)}
.tt-ftr .tt-news__row input::placeholder{color:rgba(250,246,239,.55)}
.tt-ftr .tt-news__row button{color:var(--tt-ivoor)!important}
.tt-ftr .tt-news__row button:hover{color:var(--tt-taupe)!important}
.tt-ftr .tt-news .tt-fine{color:rgba(250,246,239,.5);text-align:left}
.tt-ftr .tt-news .tt-field__err{color:#EBC0A6}
.tt-ftr .tt-news .tt-done,.tt-ftr .tt-news .tt-done p{color:var(--tt-ivoor);text-align:left;margin-inline:0}
.tt-ftr .tt-news .tt-done__mark{margin-inline:0}
/* juridische regel */
.tt-ftr .tt-ftr__bottom.e-con{display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 24px;padding-top:24px}
.tt-ftr .tt-ftr__legal.e-con{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;width:auto;gap:0}
.tt-ftr__legal-txt p,.tt-ftr__swift p{font-family:var(--tt-sans);font-weight:300;font-size:.78rem;line-height:1.6;color:rgba(250,246,239,.55)}
.tt-ftr__legal-nav .elementor-nav-menu{display:flex;flex-direction:row;margin:0;padding:0;list-style:none}
.tt-ftr__legal-nav .elementor-nav-menu>li{display:flex;align-items:center}
.tt-ftr__legal-nav .elementor-nav-menu>li::before{content:"\00B7";margin:0 .6em;color:rgba(250,246,239,.55);font-size:.78rem}
.tt-ftr .tt-ftr__legal-nav .elementor-item{padding:0!important;color:rgba(250,246,239,.55)!important;font-family:var(--tt-sans)!important;font-weight:300!important;font-size:.78rem!important;line-height:1.6!important;letter-spacing:0!important;text-transform:none;background:none!important}
.tt-ftr .tt-ftr__legal-nav .elementor-item:hover,.tt-ftr__swift a:hover{color:var(--tt-ivoor)!important}
.tt-ftr__swift a{color:rgba(250,246,239,.72)}
@media (max-width:1024px){
  .tt-ftr .tt-ftr__grid.e-con{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px}
  .tt-ftr .tt-ftr__brand.e-con{grid-column:1/-1;max-width:560px}
  .tt-ftr .tt-ftr__news.e-con{grid-template-columns:1fr}
  .tt-ftr__news-form{justify-self:start}.tt-news-fallback{justify-content:flex-start}
}
@media (max-width:767px){
  .tt-ftr .tt-ftr__grid.e-con{grid-template-columns:1fr 1fr;gap:36px 24px}
  .tt-ftr .tt-ftr__col:last-child{grid-column:1/-1}
  .tt-ftr .tt-ftr__bottom.e-con{flex-direction:column;align-items:flex-start}
  .tt-ftr .tt-ftr__legal.e-con{flex-direction:column;align-items:flex-start;gap:6px}
  .tt-ftr__legal-nav .elementor-nav-menu>li:first-child::before{display:none}
  .tt-ftr .tt-logo--beeld img{height:48px}
}

/* ------------------------------------------------------------------ WhatsApp-knop */
.tt-wa-w{position:static}
button.tt-wa,button.tt-wa:hover,button.tt-wa:focus{
  position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));z-index:55;
  width:56px;height:56px;padding:0;border-radius:50%!important;border:0!important;display:grid;place-items:center;cursor:pointer;
  background:var(--tt-espresso)!important;color:var(--tt-ivoor)!important;box-shadow:0 16px 36px -14px rgba(46,39,33,.6);
  opacity:0;transform:translateY(16px) scale(.94);pointer-events:none;
  transition:opacity .6s ease,transform .7s var(--ttc-ease),background-color .35s ease}
button.tt-wa:hover{background:var(--tt-roest)!important}
button.tt-wa.is-on{opacity:1;transform:none;pointer-events:auto}
button.tt-wa.is-inverted,button.tt-wa.is-inverted:focus{background:var(--tt-ivoor)!important;color:var(--tt-espresso)!important;box-shadow:0 16px 36px -14px rgba(0,0,0,.7)}
button.tt-wa.is-inverted:hover{background:var(--tt-zand)!important;color:var(--tt-espresso)!important}
.tt-wa svg{width:26px;height:26px;display:block}
@media (max-width:767px){button.tt-wa,button.tt-wa:hover,button.tt-wa:focus{width:48px;height:48px;right:max(14px,env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom))}.tt-wa svg{width:22px;height:22px}}
.tt-wa__tip{position:absolute;right:68px;top:50%;transform:translate(6px,-50%);white-space:nowrap;background:var(--tt-ivoor);color:var(--tt-espresso);
  border:1px solid var(--tt-lijn);padding:9px 13px;font-family:var(--tt-sans);font-weight:400;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
  opacity:0;pointer-events:none;transition:opacity .3s ease,transform .4s var(--ttc-ease)}
@media (hover:hover){button.tt-wa:hover .tt-wa__tip,button.tt-wa:focus-visible .tt-wa__tip{opacity:1;transform:translate(0,-50%)}}
/* niet over het leadpaneel of het mobiele menu */
html.tt-menu-open button.tt-wa,body.tt-lead-open button.tt-wa,html.tt-lead-open button.tt-wa,body.dr button.tt-wa,body.tt-drawer-open button.tt-wa,
button.tt-wa.is-covered,body:has(.tt-lead.is-open,.tt-lead[aria-hidden="false"],.tt-drawer.is-open,.tt-drawer.on) button.tt-wa{
  opacity:0!important;transform:translateY(16px) scale(.94)!important;pointer-events:none!important}

/* ------------------------------------------------------------------ 404 */
.tt-404.e-con{display:block;background:var(--tt-ivoor);color:var(--tt-espresso);padding-bottom:clamp(72px,9vw,128px)}
.tt-404 .tt-404__hero.e-con{position:relative;display:block;overflow:hidden;padding:clamp(72px,10vw,150px) var(--ttc-side) clamp(56px,7vw,100px);border-bottom:1px solid var(--tt-lijn)}
.tt-404 .tt-404__hero>.elementor-widget:not(.elementor-widget-html),.tt-404 .tt-404__hero>.e-con{position:relative;z-index:1}
.tt-404 .tt-404__hero>.elementor-widget-html{position:static}
.tt-404__num{position:absolute;right:var(--ttc-side);top:50%;transform:translateY(-54%);z-index:0;pointer-events:none;user-select:none;
  font-family:var(--tt-serif);font-weight:500;font-size:clamp(9rem,24vw,21rem);line-height:.8;letter-spacing:-.02em;color:var(--tt-zand)}
.tt-404 .tt-404__k .elementor-heading-title{display:block;margin-bottom:22px;font-family:var(--tt-sans)!important;font-weight:400!important;font-size:.74rem!important;line-height:1!important;letter-spacing:.32em!important;text-transform:uppercase;color:var(--tt-roest)!important}
.tt-404 .tt-404__h1 .elementor-heading-title{max-width:15ch;margin:0;font-family:var(--tt-serif)!important;font-weight:400!important;font-size:clamp(2.6rem,5.2vw,4.6rem)!important;line-height:1.04!important;letter-spacing:-.01em!important;color:var(--tt-espresso)!important}
.tt-404 .tt-acc,.tt-hdr .tt-acc{color:var(--tt-walnoot)}
.tt-404 .tt-404__h1 .tt-acc{white-space:nowrap}
.tt-404__lead p{max-width:560px;margin-top:24px;font-family:var(--tt-sans);font-weight:300;font-size:1.1rem;line-height:1.7;color:var(--tt-espresso2)}
.tt-404 .tt-404__ctas.e-con{display:flex;flex-direction:row;flex-wrap:wrap;gap:14px;margin-top:34px}
.tt-404 .tt-404__sec.e-con{display:block;padding:clamp(56px,7vw,96px) var(--ttc-side) 0}
.tt-404 .tt-404__h2 .elementor-heading-title{margin:0 0 30px;font-family:var(--tt-serif)!important;font-weight:400!important;font-size:clamp(1.7rem,2.8vw,2.4rem)!important;line-height:1.1!important;color:var(--tt-espresso)!important;letter-spacing:0!important}
.tt-404 .tt-404__grid.e-con{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 26px}
.tt-404 .tt-404__tile.e-con{display:flex;flex-direction:column;color:var(--tt-espresso)}
.tt-404__img{overflow:hidden;aspect-ratio:4/3;background:var(--tt-zand2)}
.tt-404__img img{width:100%!important;height:100%!important;max-width:none;object-fit:cover;display:block;transition:transform 1.4s var(--ttc-ease)}
.tt-404__tile:hover .tt-404__img img{transform:scale(1.045)}
.tt-404 .tt-404__tile.e-con:not(:has(.tt-404__img))::after{content:"";display:block;position:static;order:-1;width:100%;aspect-ratio:4/3;background:linear-gradient(135deg,var(--tt-zand2),var(--tt-zand))}
.tt-404 .tt-404__name .elementor-heading-title{display:block;border-top:1px solid var(--tt-espresso);margin-top:14px;padding-top:12px;font-family:var(--tt-serif)!important;font-weight:500!important;font-size:1.3rem!important;line-height:1.2!important;color:var(--tt-espresso)!important;letter-spacing:0!important}
.tt-404 .tt-404__stores.e-con{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--tt-lijn);border-left:1px solid var(--tt-lijn)}
.tt-404 .tt-404__store .elementor-button-wrapper{height:100%}
.tt-404 .tt-404__store .elementor-button{display:flex;width:100%;height:100%;justify-content:space-between;align-items:center;padding:26px 22px!important;
  background:transparent!important;border:0!important;border-right:1px solid var(--tt-lijn)!important;border-bottom:1px solid var(--tt-lijn)!important;border-radius:0!important;box-shadow:none!important;
  color:var(--tt-espresso)!important;font-family:var(--tt-serif)!important;font-weight:500!important;font-size:1.35rem!important;line-height:1.1!important;letter-spacing:0!important;text-transform:none!important;transition:background-color .35s ease}
.tt-404 .tt-404__store .elementor-button-text::after{content:"";display:inline-block;width:1.15em;height:1.15em;vertical-align:-.2em;background:currentColor;-webkit-mask:var(--tt-arrow) center/contain no-repeat;mask:var(--tt-arrow) center/contain no-repeat;font-family:var(--tt-sans);font-size:.85rem;color:var(--tt-roest);margin-left:.6em}
.tt-404 .tt-404__store .elementor-button:hover{background:var(--tt-zand2)!important}
.tt-404__help p{margin-top:24px;font-family:var(--tt-sans);font-weight:300;font-size:.98rem;color:var(--tt-espresso2)}
.tt-404__help a{color:var(--tt-espresso);border-bottom:1px solid currentColor}
@media (max-width:1024px){.tt-404 .tt-404__stores.e-con{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767px){
  .tt-404 .tt-404__grid.e-con{grid-template-columns:1fr 1fr;gap:24px 16px}
  .tt-404 .tt-404__stores.e-con{grid-template-columns:1fr 1fr}
  .tt-404 .tt-404__name .elementor-heading-title{font-size:1.12rem!important}
  .tt-404 .tt-404__hero.e-con{padding-top:150px}
  .tt-404__num{top:22px;transform:none;font-size:6.6rem;right:var(--ttc-side)}
  .tt-404 .tt-404__ctas.e-con{flex-direction:column}.tt-404 .tt-404__ctas .elementor-button{width:100%}
}

/* ------------------------------------------------------------------ rust, statisch en editor */
@media (prefers-reduced-motion:reduce){
  .tt-hdr,.tt-hdr *,.tt-ftr *,.tt-404 *,.tt-wa{transition-duration:.01ms!important;transition-delay:0s!important;animation:none!important}
}
.tt-static .tt-hdr,.tt-static .tt-hdr *,.tt-static .tt-ftr *,.tt-static .tt-404 *,.tt-static .tt-wa{transition:none!important;animation:none!important}
/* Sjabloon zelf bewerken in Elementor: megamenu en mobiel menu zichtbaar onder de balk. */
.elementor-editor-active.single-elementor_library .elementor-location-header .tt-hdr.e-con,
.elementor-editor-active.single-elementor_library .tt-hdr.e-con{position:relative;transform:none}
.elementor-editor-active.single-elementor_library .tt-hdr .tt-mega.e-con,
.elementor-editor-active.single-elementor_library .tt-hdr .tt-mobile.e-con{position:relative;top:auto;height:auto;max-height:none;visibility:visible;opacity:1;transform:none;pointer-events:auto;display:block;outline:1px dashed var(--tt-taupe)}
.elementor-editor-active.single-elementor_library .tt-hdr .tt-mega__tile,.elementor-editor-active.single-elementor_library .tt-hdr .tt-mobile__sec{opacity:1!important;transform:none!important}
.elementor-editor-active.single-elementor_library.tt-chrome{padding-top:0}
.elementor-editor-active button.tt-wa{opacity:1;transform:none;pointer-events:auto}
/* QA 28/09 AD-08: footerlinks op mobiel minstens 44 px hoog. */
@media (max-width:767px){.tt-ftr .tt-ftr__nav .elementor-item{padding:12px 0!important}.tt-ftr p a{display:inline-block;padding-block:12px;margin-block:-6px}}
/* Fase 4 (AD-08): menuknop minstens 44 px hoog */
.tt-hdr button.tt-burger{min-height:44px}

/* ---------------------------------------------------------------- feedback Dario 29/09: dezelfde pijl op alle knoppen (pin 1533) */
.tt-hdr .tt-hdr-cta .elementor-button-text{display:inline-flex;align-items:center}
.tt-hdr .tt-hdr-cta .elementor-button-text::after,.tt-news-fallback__btn span[aria-hidden]{content:"";display:inline-block;width:1.15em;height:1.15em;margin-left:.75em;flex:0 0 auto;
  overflow:hidden;text-indent:200%;white-space:nowrap;background:currentColor;-webkit-mask:var(--tt-arrow) center/contain no-repeat;mask:var(--tt-arrow) center/contain no-repeat;transition:transform .35s ease}
.tt-news-fallback__btn span[aria-hidden]{margin-left:0}
.tt-hdr .tt-hdr-cta .elementor-button:hover .elementor-button-text::after,.tt-news-fallback__btn:hover span[aria-hidden]{transform:translateX(3px)}

/* ---------------------------------------------------------------- feedback Dario 29/09: "Over ons" met dropdown (pin 1531) */
.tt-hdr .tt-nav .tt-sub-trigger{position:relative}
.tt-hdr .tt-nav .tt-sub-trigger>.elementor-item{display:inline-flex!important;align-items:center;gap:9px}
.tt-hdr .tt-nav .tt-sub-trigger>.elementor-item .sub-arrow{display:none!important}
.tt-hdr .tt-nav .tt-sub-trigger>.elementor-item::after{content:""!important;display:block!important;position:static!important;opacity:1!important;background:none!important;flex:none;width:5px;height:5px;
  border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .3s ease}
.tt-hdr .tt-nav .tt-sub-trigger:is(:hover,:focus-within)>.elementor-item::after{transform:translateY(1px) rotate(-135deg)}
.tt-hdr .tt-nav li.tt-sub-trigger>ul.sub-menu{display:block!important;position:absolute!important;top:100%!important;left:-22px!important;margin:0!important;padding:14px 0!important;min-width:14rem;width:auto!important;
  list-style:none;background:var(--tt-ivoor)!important;box-shadow:0 18px 40px -18px rgba(20,15,12,.35);border-top:1px solid var(--tt-lijn);
  opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s;z-index:30}
.tt-hdr .tt-nav li.tt-sub-trigger>ul.sub-menu::before{content:"";position:absolute;left:0;right:0;top:-26px;height:26px}
.tt-hdr .tt-nav li.tt-sub-trigger:is(:hover,:focus-within)>ul.sub-menu{opacity:1;visibility:visible;transform:none;transition:opacity .25s ease,transform .25s ease}
.tt-hdr .tt-nav li.tt-sub-trigger>ul.sub-menu li{display:block}
.tt-hdr .tt-nav li.tt-sub-trigger>ul.sub-menu a.elementor-sub-item{display:block!important;padding:10px 22px!important;background:none!important;border:0!important;
  font-family:var(--tt-sans)!important;font-weight:400!important;font-size:.7rem!important;letter-spacing:.2em!important;text-transform:uppercase;color:var(--tt-espresso)!important;white-space:nowrap}
.tt-hdr .tt-nav li.tt-sub-trigger>ul.sub-menu a.elementor-sub-item:is(:hover,:focus-visible){color:var(--tt-roest)!important}


/* tt-templates */
/* ==========================================================================
   T&T Design · Theme Builder-sjablonen (rol templates) · tt-core/assets/tt-templates.css
   Enkel geladen op showroom-, vacature-, event-, artikel- en themapagina's (inc/35-templates.php).
   Bouwt op tt.css (tokens, secties, knoppen) en tt-dynamic.css (dynamische blokken). Geen cursief.
   ========================================================================== */

/* ---------------------------------------------------------------- leeg dynamisch blok: container verdwijnt */
.tt-tpl-hide-empty:has(.tt-tpl-empty){display:none!important}
.tt-tpl-empty{display:none}

/* ---------------------------------------------------------------- feitenbalk net onder de kop */
.e-con.tt-sec.tt-tpl-facts{--padding-top:clamp(1.6rem,1rem + 1.6vw,2.6rem);--padding-bottom:0px}
.e-con.tt-sec.tt-tpl-facts + .e-con.tt-sec{--padding-top:clamp(3.5rem,2.2rem + 4.6vw,7rem)!important}
.tt-tpl-facts .ttd-facts{margin:0}

/* ---------------------------------------------------------------- showroom: hero */
.e-con.tt-hero--store{min-height:clamp(32rem,82svh,52rem)}
.tt-hero--store .elementor-widget.tt-kicker .elementor-heading-title{text-shadow:0 1px 18px rgba(20,15,12,.35)}
.tt-hero--store .elementor-widget.tt-h1 .elementor-heading-title{max-width:13ch}
.tt-hero--store .elementor-widget.tt-hero__text:not(:has(p)){display:none}

/* ---------------------------------------------------------------- showroom: welkom + kaart met uren */
.e-con.tt-store-intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:var(--tt-gap-lg);align-items:start}
.e-con.tt-store-intro__main{display:flex;flex-direction:column;align-items:flex-start}
.tt-store-intro__main .elementor-widget.tt-h2{margin-bottom:.4rem}
.elementor-widget.tt-store-text{margin-top:1.6rem;width:min(100%,40rem)}
.elementor-widget.tt-store-text:not(:has(p,ul,ol,h2,h3,table)){display:none}
.e-con.tt-store-intro__aside{position:sticky;top:calc(var(--tt-hdr-h,100px) + 1.5rem)}
.e-con.tt-store-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--tt-line);padding:clamp(1.5rem,1.1rem + 1.4vw,2.4rem)}
.tt-bg-zand .e-con.tt-store-card,.tt-bg-zand2 .e-con.tt-store-card{background:var(--tt-ivoor)}
.elementor-widget.tt-store-card__h .elementor-heading-title{font-family:var(--tt-serif);font-weight:500;font-size:var(--tt-fs-h3);line-height:1.15;color:var(--tt-head);margin:0 0 1.1rem}
.tt-store-card .ttd-hours{margin:0}
.e-con.tt-store-card__rev{margin-top:1.6rem;padding-top:1.6rem;border-top:1px solid var(--tt-line)}
.tt-store-card .ttd-sreviews{border:0;background:transparent;padding:0}

/* ---------------------------------------------------------------- showroom: route en bereikbaarheid */
.e-con.tt-visit{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--tt-gap-lg);align-items:center}
.e-con.tt-visit__side{display:flex;flex-direction:column;align-items:flex-start}
.e-con.tt-visit__omg{margin-top:1.1rem}
.e-con.tt-visit__access{margin-top:1.6rem;width:100%}
.tt-access{display:grid;gap:1.4rem}
.tt-access__i{padding-top:1.1rem;border-top:1px solid var(--tt-line)}
.tt-access__i h3{font-family:var(--tt-sans)!important;font-weight:400!important;font-size:.68rem!important;letter-spacing:.22em;text-transform:uppercase;color:var(--tt-kick)!important;margin:0 0 .5rem!important}
.tt-access__i p{margin:0 0 .6em;color:var(--tt-ink)}
.tt-access__i p:last-child{margin:0}

/* ---------------------------------------------------------------- leadformulier naast tekst (showroom, vacature) */
.e-con.tt-tpl-lead{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--tt-gap-lg);align-items:start}
.e-con.tt-tpl-lead__text{display:flex;flex-direction:column;align-items:flex-start;position:sticky;top:calc(var(--tt-hdr-h,100px) + 2rem)}
.elementor-widget.tt-tpl-lead__alt{margin-top:1.6rem}
.elementor-widget.tt-tpl-lead__alt a{text-decoration:underline;text-underline-offset:.2em}
.e-con.tt-tpl-lead--job .e-con.tt-tpl-lead__form{background:var(--tt-ivoor);padding:clamp(1.6rem,1rem + 2.4vw,3.2rem);border:1px solid var(--tt-line)}

/* ---------------------------------------------------------------- vacature */
.e-con.tt-job{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.75fr);gap:var(--tt-gap-lg);align-items:start}
.e-con.tt-job__main{display:flex;flex-direction:column;gap:clamp(2.6rem,2rem + 2vw,4rem)}
.e-con.tt-job__intro:not(:has(p,ul,ol,h2,h3)){display:none}
.e-con.tt-job__block{display:flex;flex-direction:column;padding-top:clamp(1.6rem,1.2rem + 1vw,2.2rem);border-top:1px solid var(--tt-line)}
.elementor-widget.tt-job__h .elementor-heading-title{font-family:var(--tt-serif);font-weight:500;font-size:clamp(1.75rem,1.4rem + 1.2vw,2.4rem);line-height:1.1;color:var(--tt-head);margin:0 0 1.2rem;letter-spacing:-.01em}
.tt-job__block .elementor-widget.tt-prose--rich{width:min(100%,42rem)}
.e-con.tt-job__aside{position:sticky;top:calc(var(--tt-hdr-h,100px) + 1.5rem)}
.elementor-widget.tt-job__card-text{margin-bottom:1.4rem;color:var(--tt-muted)}
.elementor-widget.tt-job__card-btn .elementor-button{width:100%;justify-content:center}
.tt-job__card .elementor-widget.tt-job__card-btn{margin-top:1.5rem}
.tt-tpl-lead__text .elementor-widget.tt-note{margin-top:1.2rem}
.elementor-widget.tt-job__contact{margin-top:1.3rem;padding-top:1.2rem;border-top:1px solid var(--tt-line);font-size:.86rem}
.elementor-widget.tt-job__contact a{text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere}

/* ---------------------------------------------------------------- Elementor Pro-formulier in T&T-stijl */
.tt-eform .elementor-form-fields-wrapper{margin:0 -.6rem;row-gap:1.35rem}
.tt-eform .elementor-field-group{padding:0 .6rem!important;margin-bottom:0!important}
body.tt-site .tt-eform .elementor-field-group > label.elementor-field-label{display:block;margin:0 0 .45rem;padding:0;font-family:var(--tt-sans);font-size:.68rem;line-height:1.3;
  letter-spacing:.18em;text-transform:uppercase;color:var(--tt-espresso2);font-weight:400}
body.tt-site .tt-eform .elementor-mark-required .elementor-field-label::after{content:"*";color:var(--tt-roest);padding-left:.25em}
body.tt-site .tt-eform .elementor-field-group:focus-within > label.elementor-field-label{color:var(--tt-roest)}
body.tt-site .tt-eform .elementor-field-group :is(input.elementor-field:not([type=checkbox]):not([type=file]),textarea.elementor-field,select.elementor-field){display:block;width:100%;margin:0;padding:.7em 0 .55em!important;
  border:0!important;border-radius:0!important;border-bottom:1px solid rgba(46,39,33,.28)!important;background:transparent!important;box-shadow:none;font-family:var(--tt-sans);font-weight:300;
  font-size:1rem;line-height:1.5;color:var(--tt-espresso);min-height:0;transition:border-color .25s,box-shadow .25s}
body.tt-site .tt-eform .elementor-field-group :is(input.elementor-field,textarea.elementor-field):hover{border-bottom-color:rgba(46,39,33,.55)!important}
body.tt-site .tt-eform .elementor-field-group :is(input.elementor-field,textarea.elementor-field):focus{outline:0;border-bottom-color:var(--tt-roest)!important;box-shadow:0 1px 0 0 var(--tt-roest)}
body.tt-site .tt-eform textarea.elementor-field{min-height:6.5rem;resize:vertical}
body.tt-site .tt-eform ::placeholder{color:var(--tt-taupe);opacity:1}
/* cv-upload: rustige kader met gestippelde lijn */
body.tt-site .tt-eform .elementor-field-group input.elementor-upload-field{padding:1rem!important;border:1px dashed rgba(46,39,33,.34)!important;background:rgba(255,255,255,.55)!important;font-size:.9rem;cursor:pointer}
body.tt-site .tt-eform .elementor-field-group input.elementor-upload-field:hover{border-color:var(--tt-roest)!important}
.tt-eform .elementor-field-type-acceptance > .elementor-field-label{display:none!important}
body.tt-site .tt-eform input.elementor-upload-field::file-selector-button{margin-right:1rem;padding:.55rem .95rem;border:1px solid var(--tt-espresso);background:transparent;
  font-family:var(--tt-sans);font-weight:500;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--tt-espresso);cursor:pointer;transition:background .25s,color .25s}
body.tt-site .tt-eform input.elementor-upload-field::file-selector-button:hover{background:var(--tt-espresso);color:var(--tt-ivoor)}
/* privacy-akkoord */
.tt-eform .elementor-field-type-acceptance .elementor-field-subgroup{display:block}
.tt-eform .elementor-field-type-acceptance .elementor-field-option{display:grid;grid-template-columns:1.2rem 1fr;gap:.75rem;align-items:start}
body.tt-site .tt-eform .elementor-field-type-acceptance input[type=checkbox]{appearance:none;-webkit-appearance:none;width:1.15rem;height:1.15rem;margin:.2rem 0 0;border:1px solid rgba(46,39,33,.5);
  background:#fff center/.72rem no-repeat;border-radius:0;cursor:pointer;transition:background-color .2s,border-color .2s}
body.tt-site .tt-eform .elementor-field-type-acceptance input[type=checkbox]:checked{background-color:var(--tt-roest);border-color:var(--tt-roest);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.3l2.6 2.5L10 3.4' fill='none' stroke='%23fff' stroke-width='1.6'/%3E%3C/svg%3E")}
body.tt-site .tt-eform .elementor-field-type-acceptance label{font-family:var(--tt-sans);font-weight:300;font-size:.86rem;line-height:1.5;color:var(--tt-espresso2);letter-spacing:0;text-transform:none}
.tt-eform .elementor-field-type-acceptance a{text-decoration:underline;text-underline-offset:.2em;color:var(--tt-espresso)}
/* verzendknop = tt-knop fill */
.tt-eform .elementor-field-type-submit{margin-top:.6rem}
body.tt-site .tt-eform .elementor-button[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:.8em;width:100%;min-height:3.3rem;padding:1.05rem 2rem;border:1px solid var(--tt-roest);
  border-radius:0;background:var(--tt-roest);color:#fff;font-family:var(--tt-sans);font-weight:500;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;line-height:1;box-shadow:none;
  transition:background-color .3s var(--tt-ease),border-color .3s var(--tt-ease)}
body.tt-site .tt-eform .elementor-button[type=submit]:hover{background:var(--tt-roest-hover);border-color:var(--tt-roest-hover)}
body.tt-site .tt-eform .elementor-button[type=submit] .elementor-button-text::after{content:"";display:inline-block;width:1.15em;height:1.15em;vertical-align:-.2em;background:currentColor;-webkit-mask:var(--tt-arrow) center/contain no-repeat;mask:var(--tt-arrow) center/contain no-repeat;margin-left:.9em;letter-spacing:0}
/* meldingen */
.tt-eform .elementor-message{margin-top:1rem;font-size:.9rem;line-height:1.5}
.tt-eform .elementor-message.elementor-message-danger,.tt-eform .elementor-error .elementor-message{color:#A33A2A}
.tt-eform .elementor-message::before{display:none}
.tt-eform .elementor-field-group.elementor-error :is(input,textarea){border-bottom-color:#A33A2A!important;box-shadow:0 1px 0 0 #A33A2A!important}
.tt-eform .elementor-field-group .elementor-message{font-size:.78rem;margin-top:.35rem}
.tt-eform .elementor-field-type-honeypot{position:absolute!important;left:-9999px!important}

/* ---------------------------------------------------------------- artikel: kop */
.e-con.tt-art-head{--padding-bottom:0px}
.e-con.tt-art-head__in{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;max-width:calc(56rem + 2 * var(--tt-gutter));
  margin-inline:auto;--padding-left:var(--tt-gutter);--padding-right:var(--tt-gutter)}
.tt-art-head .elementor-widget.tt-art-head__title .elementor-heading-title{font-size:clamp(2.45rem,1.6rem + 3.2vw,4.4rem);line-height:1.04;max-width:20ch;margin-inline:auto}
.tt-art-head .elementor-widget.tt-crumbs{color:var(--tt-muted)}
.elementor-widget.tt-art-head__cat .elementor-heading-title a{text-decoration:none;color:inherit;border-bottom:1px solid transparent;transition:border-color .3s}
.elementor-widget.tt-art-head__cat .elementor-heading-title a:hover{border-bottom-color:currentColor}
.elementor-widget.tt-art-meta{margin-top:1.5rem;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tt-muted)}
.elementor-widget.tt-art-meta .elementor-widget-container{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 0}
.tt-art-meta__i + .tt-art-meta__i::before{content:"";display:inline-block;width:1.6rem;height:1px;margin:0 .9rem;vertical-align:middle;background:var(--tt-line-strong);opacity:.4}
.e-con.tt-art-figure{width:100%;max-width:calc(var(--tt-max) + 2 * var(--tt-gutter));margin:clamp(2.6rem,1.8rem + 3vw,4.5rem) auto 0;
  --padding-left:var(--tt-gutter);--padding-right:var(--tt-gutter)}
.e-con.tt-art-figure:not(:has(img)){display:none}
.tt-art-figure .elementor-widget-image{aspect-ratio:16/8;overflow:hidden;background:var(--tt-zand2)}
.tt-art-figure .elementor-widget-image :is(.elementor-widget-container,a){height:100%}
.tt-art-figure img{display:block;width:100%;height:100%;object-fit:cover}

/* ---------------------------------------------------------------- artikel: leeskolom + inhoudstafel */
.e-con.tt-art{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,46rem);justify-content:center;gap:clamp(2.5rem,1rem + 5vw,6.5rem);align-items:start}
.e-con.tt-art:not(:has(> .tt-art__toc:not(:has(.tt-tpl-empty)))){grid-template-columns:minmax(0,46rem)}
.e-con.tt-art__toc{position:sticky;top:calc(var(--tt-hdr-h,100px) + 2rem);padding-top:1.1rem;border-top:1px solid var(--tt-line-strong)}
.elementor-widget.tt-art__toc-title .elementor-heading-title{font-family:var(--tt-sans);font-weight:400;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--tt-kick);margin:0 0 1rem}
.tt-toc-list ol{list-style:none;margin:0;padding:0;counter-reset:tt-toc}
.tt-toc-list li{counter-increment:tt-toc;margin:0}
.tt-toc-list a{display:grid;grid-template-columns:1.7rem 1fr;padding:.5rem 0;font-size:.9rem;line-height:1.4;color:var(--tt-muted);text-decoration:none;border-bottom:1px solid var(--tt-line);
  transition:color .25s}
.tt-toc-list a::before{content:counter(tt-toc,decimal-leading-zero);font-size:.66rem;letter-spacing:.12em;padding-top:.2rem;color:var(--tt-taupe)}
.tt-toc-list a:hover,.tt-toc-list a.is-active{color:var(--tt-head)}
.tt-toc-list a.is-active::before{color:var(--tt-roest)}
.e-con.tt-art__main{min-width:0}
/* leestypografie: artikels gebruiken h2 (inhoudstafel) en h3 */
.tt-art__body{font-size:clamp(1.04rem,1rem + .2vw,1.14rem);line-height:1.8}
.tt-art__body > .elementor-widget-container > p:first-child,.tt-art__body > p:first-child{font-size:1.16em;line-height:1.7;color:var(--tt-head)}
.tt-sec .tt-art__body h2,.tt-sec .tt-prose--rich h2{font-family:var(--tt-serif);font-weight:500;font-size:clamp(1.9rem,1.5rem + 1.5vw,2.7rem);line-height:1.1;letter-spacing:-.01em;
  color:var(--tt-head);margin:2.2em 0 .65em;scroll-margin-top:calc(var(--tt-hdr-h,100px) + 1.5rem);text-wrap:balance}
.tt-sec .tt-art__body h2:first-child{margin-top:0}
.tt-art__body h2 .tt-acc{color:var(--tt-acc-c)}
.tt-art__body figure{margin:2.2em 0}
.tt-art__body .wp-block-image img{display:block;width:100%;height:auto;margin:0}
.tt-art__body figcaption{margin-top:.7rem;font-size:.8rem;color:var(--tt-muted)}
.tt-art__body .wp-block-table,.tt-art__body .tt-table__scroll{overflow-x:auto;margin:1.8em 0 2em}
.tt-art__body blockquote{margin:2.2em 0}
.tt-art__body blockquote cite{display:block;margin-top:.8rem;font-family:var(--tt-sans);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tt-muted)}
/* knoppen uit de blokeditor in T&T-stijl */
.tt-sec .wp-block-buttons{display:flex;flex-wrap:wrap;gap:.85rem 1rem;margin:2em 0}
body.tt-site .tt-sec .wp-block-button__link{display:inline-flex;align-items:center;gap:.8em;padding:1.05rem 1.9rem;border:1px solid var(--tt-espresso);border-radius:0;background:transparent;
  color:var(--tt-espresso);font-family:var(--tt-sans);font-weight:500;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;line-height:1;text-decoration:none;
  transition:background-color .3s,color .3s,border-color .3s}
body.tt-site .tt-sec .wp-block-button:first-child .wp-block-button__link{background:var(--tt-roest);border-color:var(--tt-roest);color:#fff}
body.tt-site .tt-sec .wp-block-button__link:hover{background:var(--tt-espresso);border-color:var(--tt-espresso);color:var(--tt-ivoor)}
body.tt-site .tt-sec .wp-block-button:first-child .wp-block-button__link:hover{background:var(--tt-roest-hover);border-color:var(--tt-roest-hover)}
/* shortcodes in de artikeltekst (FAQ, kaarten) krijgen de breedte van de kolom */
.tt-art__body .ttd{margin:1.6em 0 2em}
.tt-art__body .ttd-posts{grid-template-columns:1fr 1fr}

/* ---------------------------------------------------------------- event */
.elementor-widget.tt-evt-when{margin-top:1.3rem}
.elementor-widget.tt-evt-when .elementor-heading-title{font-family:var(--tt-serif);font-weight:500;font-size:clamp(1.3rem,1.15rem + .6vw,1.7rem);line-height:1.3;color:var(--tt-acc-c)}
.e-con.tt-evt{display:flex;flex-direction:column;align-items:flex-start;max-width:46rem;margin-inline:auto}
.elementor-widget.tt-evt__body{margin-top:1.2rem}
.tt-evt-tag{margin-top:1rem}

/* ---------------------------------------------------------------- inspiratiethema */
.tt-arch-head .elementor-widget.tt-topics-w{margin-top:2.2rem;width:100%}
.tt-topics ul{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;margin:0;padding:0}
.tt-topics a{display:inline-flex;align-items:center;gap:.6rem;padding:.6rem 1rem;border:1px solid var(--tt-line);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--tt-ink);text-decoration:none;transition:border-color .25s,background-color .25s,color .25s}
.tt-topics a:hover{border-color:var(--tt-espresso)}
.tt-topics a[aria-current]{background:var(--tt-espresso);border-color:var(--tt-espresso);color:var(--tt-ivoor)}
.tt-topics__n{font-size:.66rem;letter-spacing:.08em;opacity:.6}
.tt-arch-none{max-width:38rem;margin:0 auto;text-align:center}
.tt-arch-none p{margin:0 0 1.6rem;color:var(--tt-muted)}
.tt-pager{margin-top:clamp(2.5rem,2rem + 2vw,4rem);display:flex;justify-content:center}
.tt-pager ul{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}
.tt-pager :is(a,span){display:inline-flex;min-width:2.8rem;height:2.8rem;padding:0 .9rem;align-items:center;justify-content:center;border:1px solid var(--tt-line);
  font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--tt-ink)}
.tt-pager .current{background:var(--tt-espresso);border-color:var(--tt-espresso);color:var(--tt-ivoor)}
.tt-pager a:hover{border-color:var(--tt-espresso)}

/* ---------------------------------------------------------------- kleine gedeelde details */
.e-con.tt-ctas--center{justify-content:center;margin-top:clamp(2.4rem,2rem + 1.5vw,3.5rem)}
.tt-tpl .tt-sec--faq .ttd-faq{max-width:52rem;margin-inline:auto}

/* ---------------------------------------------------------------- responsief */
@media (max-width:1024px){
  .e-con.tt-store-intro,.e-con.tt-visit,.e-con.tt-tpl-lead,.e-con.tt-job{grid-template-columns:minmax(0,1fr)}
  .e-con.tt-store-intro__aside,.e-con.tt-tpl-lead__text,.e-con.tt-job__aside{position:static}
  .e-con.tt-art{grid-template-columns:minmax(0,46rem)}
  .e-con.tt-art__toc{position:static;order:0}
  .tt-visit__map{order:2}
}
@media (max-width:640px){
  .e-con.tt-hero--store{min-height:clamp(30rem,88svh,44rem)}
  .tt-eform .elementor-field-group{width:100%!important;max-width:100%!important;flex-basis:100%!important}
  .e-con.tt-tpl-lead--job .e-con.tt-tpl-lead__form{padding:1.4rem 1.2rem}
  .tt-art-figure .elementor-widget-image{aspect-ratio:4/3}
  .elementor-widget.tt-art-meta{font-size:.66rem}
  .tt-art-meta__i + .tt-art-meta__i::before{width:.9rem;margin:0 .6rem}
  .tt-art__body .ttd-posts{grid-template-columns:1fr}
  .tt-topics a{padding:.5rem .8rem}
}
@media (prefers-reduced-motion:reduce){
  .tt-toc-list a{transition:none}
}

/* ---------------------------------------------------------------- feedback Dario 29/09 */
/* pin 1542: de meeschuivende kaart (openingsuren) houdt ruimte onderaan en plakt niet tegen de volgende sectie */
@media (min-width:1025px){.e-con.tt-store-intro__aside{margin-bottom:clamp(2rem,1rem + 3vw,4rem)}}


