/* ============================================================
   LUXE FORNUIZEN V2 — scoped design layer (.lfv2-*)
   Preview only. Does not affect V1.
   ============================================================ */

.lfv2-root{
  /* --- surfaces --- */
  --lfv2-bg:#15120F;
  --lfv2-bg-2:#1D1814;
  --lfv2-card:#241E19;
  --lfv2-elev:#2A221C;
  --lfv2-olive:#20271D;
  --lfv2-olive-deep:#1E261D;
  /* --- accents --- */
  --lfv2-gold:#CDA468;
  --lfv2-gold-light:#E1C28F;
  /* --- text --- */
  --lfv2-text:#F5EFE7;
  --lfv2-muted:#AAA199;
  /* --- lines --- */
  --lfv2-border:rgba(205,164,104,.32);
  --lfv2-border-soft:rgba(205,164,104,.16);
  --lfv2-hairline:rgba(245,239,231,.10);
  /* --- type --- */
  --lfv2-serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --lfv2-sans:'Manrope','Helvetica Neue',Helvetica,Arial,sans-serif;
  --lfv2-script:'Pinyon Script',cursive;
  /* --- layout --- */
  --lfv2-wrap:min(1240px,calc(100% - 48px));
  --lfv2-header-h:66px;
  --lfv2-radius:14px;
  --lfv2-ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- reset / base ---------- */
.lfv2-root *,.lfv2-root *::before,.lfv2-root *::after{box-sizing:border-box}
html.lfv2-html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html.lfv2-html.lfv2-locked{overflow:hidden}
.lfv2-root{
  margin:0;padding:0;
  background:var(--lfv2-bg);
  color:var(--lfv2-text);
  font-family:var(--lfv2-sans);
  font-size:17px;line-height:1.65;font-weight:400;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
.lfv2-root img{max-width:100%;display:block}
.lfv2-root h1,.lfv2-root h2,.lfv2-root h3,.lfv2-root h4{
  font-family:var(--lfv2-serif);font-weight:400;
  line-height:1.08;letter-spacing:-.005em;margin:0;
}
.lfv2-root p{margin:0}
.lfv2-root a{color:inherit;text-decoration:none}
.lfv2-root ul{margin:0;padding:0;list-style:none}
.lfv2-root button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.lfv2-root :focus-visible{outline:2px solid var(--lfv2-gold-light);outline-offset:3px;border-radius:3px}
.lfv2-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}
.lfv2-skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--lfv2-gold);color:var(--lfv2-bg);padding:10px 18px;border-radius:0 0 8px 0;font-size:14px;font-weight:600}
.lfv2-skip:focus{left:0}

/* ---------- shared building blocks ---------- */
.lfv2-wrap{width:var(--lfv2-wrap);margin-inline:auto}
.lfv2-section{padding-block:clamp(48px,5.6vw,84px);position:relative}
.lfv2-section--tight{padding-block:clamp(40px,4vw,60px)}
.lfv2-section--olive{background:var(--lfv2-olive)}
.lfv2-section--alt{background:var(--lfv2-bg-2)}

.lfv2-eyebrow{
  font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--lfv2-gold);margin:0 0 18px;display:flex;align-items:center;gap:12px;
}
.lfv2-eyebrow::after{content:"";height:1px;width:40px;background:var(--lfv2-border);flex:0 0 auto}
.lfv2-eyebrow--center{justify-content:center}
.lfv2-eyebrow--center::before{content:"";height:1px;width:40px;background:var(--lfv2-border)}

.lfv2-h2{font-size:clamp(31px,3.6vw,50px);letter-spacing:-.01em}
/* one rule owns the heading-to-lead rhythm everywhere */
.lfv2-h2 + .lfv2-lead,.lfv2-h2 + p{margin-top:18px}
.lfv2-h3{font-size:clamp(22px,2vw,27px)}
.lfv2-lead{color:var(--lfv2-muted);font-size:16.5px;line-height:1.75;max-width:58ch}
.lfv2-script{font-family:var(--lfv2-script);color:var(--lfv2-gold-light);font-size:1.22em;line-height:1}

.lfv2-head{max-width:720px;margin-bottom:clamp(30px,3.2vw,48px)}
.lfv2-head--center{margin-inline:auto;text-align:center}
.lfv2-head .lfv2-lead{margin-top:18px}
.lfv2-head--center .lfv2-lead{margin-inline:auto}

/* ---------- buttons ---------- */
.lfv2-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--lfv2-sans);font-size:14px;font-weight:600;letter-spacing:.02em;
  padding:13px 26px;border-radius:8px;border:1px solid transparent;
  transition:transform .35s var(--lfv2-ease),background-color .35s var(--lfv2-ease),border-color .35s var(--lfv2-ease),color .35s var(--lfv2-ease);
  will-change:transform;
}
.lfv2-btn--primary{background:var(--lfv2-gold);border-color:var(--lfv2-gold);color:#15120F}
/* .lfv2-btn--primary:hover staat nu onderaan, achter (hover:hover) and (pointer:fine) */
.lfv2-btn--ghost{background:transparent;border-color:var(--lfv2-border);color:var(--lfv2-text)}
/* .lfv2-btn--ghost:hover staat nu onderaan, achter (hover:hover) and (pointer:fine) */
.lfv2-btn--sm{padding:10px 19px;font-size:13px}
.lfv2-btns{display:flex;flex-wrap:wrap;gap:14px}

.lfv2-link{
  display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;color:var(--lfv2-gold);
  padding-bottom:5px;border-bottom:1px solid var(--lfv2-border);
  transition:color .3s var(--lfv2-ease),border-color .3s var(--lfv2-ease),gap .3s var(--lfv2-ease);
}
.lfv2-link:hover{color:var(--lfv2-gold-light);border-color:var(--lfv2-gold-light);gap:15px}
.lfv2-link svg{width:15px;height:15px;flex:0 0 auto}

/* ---------- header ---------- */
.lfv2-header{
  position:fixed;inset:0 0 auto;z-index:96;height:var(--lfv2-header-h);
  display:flex;align-items:center;
  background:transparent;border-bottom:1px solid transparent;
  transition:background-color .45s var(--lfv2-ease),border-color .45s var(--lfv2-ease),backdrop-filter .45s var(--lfv2-ease);
}
.lfv2-header::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(to bottom,rgba(21,18,15,.72),rgba(21,18,15,0));
  transition:opacity .45s var(--lfv2-ease);
}
.lfv2-header.is-stuck{
  background:rgba(21,18,15,.85);
  -webkit-backdrop-filter:saturate(140%) blur(12px);
  backdrop-filter:saturate(140%) blur(12px);
  border-bottom-color:var(--lfv2-border-soft);
}
.lfv2-header.is-stuck::before{opacity:0}
.lfv2-header__in{width:var(--lfv2-wrap);margin-inline:auto;display:flex;align-items:center;gap:28px}

.lfv2-brand{display:flex;flex-direction:column;line-height:1;flex:0 0 auto}
.lfv2-brand__name{font-family:var(--lfv2-serif);font-size:23px;letter-spacing:.015em;color:var(--lfv2-text)}
.lfv2-brand__sub{font-size:8.5px;letter-spacing:.38em;text-transform:uppercase;color:var(--lfv2-gold);margin-top:4px}

.lfv2-nav{margin-left:auto}
.lfv2-nav__list{display:flex;align-items:center;gap:4px}
.lfv2-nav__link{
  display:inline-flex;align-items:center;gap:6px;
  font-size:13.5px;font-weight:500;letter-spacing:.015em;color:var(--lfv2-text);
  padding:9px 13px;border-radius:6px;position:relative;
  transition:color .3s var(--lfv2-ease);
}
.lfv2-nav__link::after{
  content:"";position:absolute;left:13px;right:13px;bottom:4px;height:1px;
  background:var(--lfv2-gold);transform:scaleX(0);transform-origin:left;
  transition:transform .35s var(--lfv2-ease);
}
.lfv2-nav__link:hover{color:var(--lfv2-gold-light)}
.lfv2-nav__link:hover::after,.lfv2-nav__item.is-open>.lfv2-nav__link::after{transform:scaleX(1)}
.lfv2-nav__link[aria-current="page"]{color:var(--lfv2-gold)}
.lfv2-nav__caret{width:9px;height:9px;transition:transform .3s var(--lfv2-ease);opacity:.7}
.lfv2-nav__item.is-open .lfv2-nav__caret{transform:rotate(180deg)}

.lfv2-nav__item{position:relative}
.lfv2-sub{
  position:absolute;top:calc(100% + 10px);left:0;min-width:236px;
  background:rgba(29,24,20,.97);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border:1px solid var(--lfv2-border-soft);border-radius:10px;padding:8px;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .28s var(--lfv2-ease),transform .28s var(--lfv2-ease),visibility .28s;
  box-shadow:0 18px 44px rgba(0,0,0,.45);
}
.lfv2-nav__item.is-open>.lfv2-sub{opacity:1;visibility:visible;transform:translateY(0)}
.lfv2-sub a{display:block;padding:9px 13px;border-radius:6px;font-size:13.5px;color:var(--lfv2-muted);transition:background-color .25s,color .25s}
.lfv2-sub a:hover{background:rgba(205,164,104,.09);color:var(--lfv2-text)}

.lfv2-header__cta{flex:0 0 auto}
.lfv2-burger{display:none;flex:0 0 auto;margin-left:auto;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--lfv2-border-soft);border-radius:8px}
.lfv2-burger span{display:block;width:19px;height:1.5px;background:var(--lfv2-text);position:relative;transition:background-color .2s}
.lfv2-burger span::before,.lfv2-burger span::after{content:"";position:absolute;left:0;width:19px;height:1.5px;background:var(--lfv2-text);transition:transform .35s var(--lfv2-ease)}
.lfv2-burger span::before{top:-6px}
.lfv2-burger span::after{top:6px}
.lfv2-burger[aria-expanded="true"] span{background:transparent}
.lfv2-burger[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.lfv2-burger[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}

/* ---------- mobile drawer ---------- */
.lfv2-drawer{
  position:fixed;inset:0;z-index:95;display:flex;flex-direction:column;
  background:var(--lfv2-bg);
  padding:calc(var(--lfv2-header-h) + 18px) 0 34px;
  opacity:0;visibility:hidden;transform:translateY(-12px);
  transition:opacity .4s var(--lfv2-ease),transform .4s var(--lfv2-ease),visibility .4s;
  overflow-y:auto;overscroll-behavior:contain;
}
.lfv2-drawer.is-open{opacity:1;visibility:visible;transform:translateY(0)}
.lfv2-drawer__in{width:min(460px,calc(100% - 32px));margin-inline:auto}
.lfv2-drawer__link{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  font-family:var(--lfv2-serif);font-size:27px;color:var(--lfv2-text);
  padding:15px 0;border-bottom:1px solid var(--lfv2-hairline);width:100%;text-align:left;
}
.lfv2-drawer__link .lfv2-nav__caret{width:12px;height:12px}
.lfv2-drawer__sub{display:none;padding:6px 0 14px}
.lfv2-drawer__sub.is-open{display:block}
.lfv2-drawer__sub a{display:block;padding:10px 0 10px 2px;font-size:15px;color:var(--lfv2-muted)}
.lfv2-drawer__sub a:hover{color:var(--lfv2-gold-light)}
.lfv2-drawer__foot{margin-top:28px;display:grid;gap:12px}
.lfv2-drawer__foot .lfv2-btn{width:100%}
.lfv2-drawer__meta{margin-top:26px;font-size:13px;color:var(--lfv2-muted);line-height:1.9}
.lfv2-drawer__meta a{color:var(--lfv2-gold)}

/* ---------- hero ---------- */
.lfv2-hero{position:relative;min-height:640px;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.lfv2-hero__media{position:absolute;inset:0;z-index:-2}
.lfv2-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center}
.lfv2-hero__veil{
  position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(100deg,rgba(21,18,15,.84) 0%,rgba(21,18,15,.60) 40%,rgba(21,18,15,.20) 68%,rgba(21,18,15,0) 86%),
    linear-gradient(to top,rgba(21,18,15,.76),rgba(21,18,15,0) 46%);
}
.lfv2-hero__in{width:var(--lfv2-wrap);margin-inline:auto;padding-block:clamp(70px,9vh,120px);position:relative}
.lfv2-hero__copy{max-width:640px}
.lfv2-hero h1{font-size:clamp(40px,4.9vw,66px);line-height:1.02;margin-bottom:22px}
.lfv2-hero h1 span{display:block;color:var(--lfv2-gold-light)}
.lfv2-hero__lead{color:rgba(245,239,231,.82);font-size:17px;line-height:1.7;max-width:52ch;margin-bottom:30px}
.lfv2-hero .lfv2-btns{margin-bottom:30px}
.lfv2-hero__trust{
  display:inline-flex;align-items:center;gap:11px;font-size:12.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--lfv2-muted);
}
.lfv2-hero__trust::before{content:"";width:26px;height:1px;background:var(--lfv2-border)}
.lfv2-hero__scroll{
  position:absolute;right:0;bottom:clamp(70px,9vh,120px);
  writing-mode:vertical-rl;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--lfv2-muted);display:flex;align-items:center;gap:14px;
}
.lfv2-hero__scroll::after{content:"";width:1px;height:58px;background:linear-gradient(to bottom,var(--lfv2-border),transparent)}

/* 360 module — architecture ready, hidden until the real Blender asset lands */
.lfv2-360{display:none}
.lfv2-360.is-enabled{display:block}
.lfv2-360__stage{
  position:relative;aspect-ratio:16/9;border:1px solid var(--lfv2-border-soft);
  border-radius:var(--lfv2-radius);background:var(--lfv2-bg-2);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
}
.lfv2-360__label{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--lfv2-gold)}
.lfv2-360__note{font-size:14px;color:var(--lfv2-muted)}

/* ---------- trust strip ---------- */
.lfv2-trust{background:var(--lfv2-bg-2);border-block:1px solid var(--lfv2-hairline)}
.lfv2-trust__list{display:flex;align-items:stretch;justify-content:space-between;gap:0}
.lfv2-trust__item{
  flex:1;display:flex;align-items:center;gap:11px;
  padding:22px 22px;font-size:13.5px;font-weight:500;letter-spacing:.005em;color:var(--lfv2-text);
  border-left:1px solid var(--lfv2-hairline);
}
.lfv2-trust__item:first-child{border-left:0;padding-left:0}
.lfv2-trust__item:last-child{padding-right:0}
.lfv2-trust__item svg{width:17px;height:17px;flex:0 0 auto;color:var(--lfv2-gold)}

/* ---------- brands marquee ---------- */
.lfv2-brands{padding-block:clamp(34px,3.4vw,48px);overflow:hidden;position:relative}
.lfv2-brands__label{
  text-align:center;font-size:11px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--lfv2-muted);
}
/* .lfv2-root p{margin:0} (0,1,1) overrulede de margin hierboven (0,1,0), waardoor het
   label tegen de marquee plakte. Zelfde bedoelde waarde, nu specifiek genoeg.
   De <=640-regel verderop zet mobiel op 11px. */
.lfv2-root .lfv2-brands__label{margin-bottom:26px}
.lfv2-marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 11%,#000 89%,transparent);mask-image:linear-gradient(to right,transparent,#000 11%,#000 89%,transparent)}
.lfv2-marquee__track{display:flex;width:max-content;animation:lfv2-scroll 52s linear infinite}
.lfv2-marquee:hover .lfv2-marquee__track{animation-play-state:paused}
.lfv2-marquee__group{display:flex;align-items:center;flex:0 0 auto}
.lfv2-marquee__item{
  font-family:var(--lfv2-serif);font-size:clamp(23px,2.3vw,31px);letter-spacing:.04em;
  color:rgba(245,239,231,.52);padding-inline:clamp(26px,3vw,46px);white-space:nowrap;
  transition:color .4s var(--lfv2-ease);
}
.lfv2-marquee__item:hover{color:var(--lfv2-gold-light)}
@keyframes lfv2-scroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

/* ---------- featured offer ---------- */
.lfv2-offer__top{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:clamp(28px,3vw,44px)}
.lfv2-offer__top .lfv2-head{margin-bottom:0}
.lfv2-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,1.8vw,26px)}

.lfv2-card{
  display:flex;flex-direction:column;background:var(--lfv2-card);
  border:1px solid var(--lfv2-border-soft);border-radius:var(--lfv2-radius);overflow:hidden;
  transition:transform .45s var(--lfv2-ease),border-color .45s var(--lfv2-ease),background-color .45s var(--lfv2-ease);
  will-change:transform;
}
.lfv2-card:hover{transform:translateY(-4px);border-color:var(--lfv2-border);background:var(--lfv2-elev)}
.lfv2-card__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--lfv2-bg-2)}
.lfv2-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--lfv2-ease)}
.lfv2-card:hover .lfv2-card__media img{transform:scale(1.025)}
.lfv2-card__tag{
  position:absolute;top:14px;left:14px;
  font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  padding:6px 11px;border-radius:5px;
  background:rgba(21,18,15,.68);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  border:1px solid var(--lfv2-border-soft);color:var(--lfv2-gold-light);
}
.lfv2-card__body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1;gap:12px}
.lfv2-card__brand{font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--lfv2-gold)}
.lfv2-card__title{font-size:25px;line-height:1.15}
.lfv2-card__title a{transition:color .3s var(--lfv2-ease)}
.lfv2-card:hover .lfv2-card__title a{color:var(--lfv2-gold-light)}
/* catalogue line, not webshop badges */
.lfv2-card__specs{display:block;font-size:13.5px;line-height:1.6;color:var(--lfv2-muted)}
.lfv2-card__spec{display:inline;letter-spacing:.01em}
.lfv2-card__spec + .lfv2-card__spec::before{content:"\00b7";margin:0 9px;color:var(--lfv2-gold);opacity:.55}
.lfv2-card__foot{
  margin-top:auto;padding-top:16px;border-top:1px solid var(--lfv2-hairline);
  display:flex;align-items:flex-end;justify-content:space-between;gap:14px;
}
.lfv2-card__price{display:flex;flex-direction:column;gap:2px}
.lfv2-card__price-was{font-size:12.5px;color:var(--lfv2-muted);text-decoration:line-through}
.lfv2-card__price-now{font-family:var(--lfv2-serif);font-size:26px;line-height:1;color:var(--lfv2-text)}
.lfv2-card__cta{
  font-size:12.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
  color:var(--lfv2-gold);display:inline-flex;align-items:center;gap:7px;
  transition:gap .3s var(--lfv2-ease),color .3s var(--lfv2-ease);
}
.lfv2-card:hover .lfv2-card__cta{gap:11px;color:var(--lfv2-gold-light)}
.lfv2-card__cta svg{width:13px;height:13px}
.lfv2-offer__foot{margin-top:clamp(28px,3vw,42px);display:flex;justify-content:center}

/* ---------- editorial split (quality) ---------- */
.lfv2-split{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,4vw,66px);align-items:center}
.lfv2-split__media{position:relative;border-radius:var(--lfv2-radius);overflow:hidden}
.lfv2-split__media img{width:100%;height:auto;object-fit:cover;aspect-ratio:4/3}
.lfv2-split__media::after{content:"";position:absolute;inset:0;border:1px solid var(--lfv2-border-soft);border-radius:var(--lfv2-radius);pointer-events:none}
.lfv2-split__copy h2{margin-bottom:0}
.lfv2-split__copy .lfv2-lead + .lfv2-lead{margin-top:16px}

.lfv2-deflist{margin-top:30px;display:grid;gap:0;border-top:1px solid var(--lfv2-hairline)}
.lfv2-deflist__row{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:15px 0;border-bottom:1px solid var(--lfv2-hairline)}
.lfv2-deflist__key{font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--lfv2-gold);padding-top:3px}
.lfv2-deflist__val{margin:0;font-size:15.5px;color:var(--lfv2-muted);line-height:1.65}

/* ---------- craftsmanship (olive, stepped) ---------- */
.lfv2-craft{background:var(--lfv2-olive);position:relative;overflow:hidden}
.lfv2-craft__in{display:grid;grid-template-columns:1fr 1.06fr;gap:clamp(32px,4.4vw,72px);align-items:center}
.lfv2-craft__media{position:relative;border-radius:var(--lfv2-radius);overflow:hidden;order:2}
.lfv2-craft__media img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.lfv2-craft__media::after{content:"";position:absolute;inset:0;border:1px solid rgba(205,164,104,.22);border-radius:var(--lfv2-radius);pointer-events:none}
.lfv2-craft__copy{order:1}
.lfv2-steps{margin-top:28px;counter-reset:lfv2step}
.lfv2-steps li{
  position:relative;padding:0 0 20px 52px;counter-increment:lfv2step;
  font-size:15.5px;color:rgba(245,239,231,.78);line-height:1.6;
}
.lfv2-steps li:last-child{padding-bottom:0}
.lfv2-steps li::before{
  content:counter(lfv2step,decimal-leading-zero);
  position:absolute;left:0;top:0;
  font-family:var(--lfv2-serif);font-size:15px;color:var(--lfv2-gold);
  width:34px;height:34px;border:1px solid rgba(205,164,104,.3);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
.lfv2-steps li::after{
  content:"";position:absolute;left:17px;top:38px;bottom:4px;width:1px;
  background:linear-gradient(to bottom,rgba(205,164,104,.26),rgba(205,164,104,0));
}
.lfv2-steps li:last-child::after{display:none}
.lfv2-steps strong{display:block;font-family:var(--lfv2-sans);font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--lfv2-text);margin-bottom:4px}
.lfv2-craft__note{
  margin-top:26px;padding:16px 20px;border-left:2px solid var(--lfv2-gold);
  background:rgba(21,18,15,.3);font-size:14.5px;color:rgba(245,239,231,.72);line-height:1.65;
}

/* ---------- inspiration (overlapping editorial) ---------- */
.lfv2-inspo{position:relative;padding-block:0}
.lfv2-inspo__media{position:relative;height:clamp(360px,44vw,560px);overflow:hidden}
.lfv2-inspo__media img{width:100%;height:100%;object-fit:cover}
.lfv2-inspo__media::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(21,18,15,.28),rgba(21,18,15,.55))}
.lfv2-inspo__panel{
  position:relative;z-index:2;margin-top:clamp(-150px,-11vw,-90px);
  width:var(--lfv2-wrap);margin-inline:auto;
  background:var(--lfv2-bg-2);border:1px solid var(--lfv2-border-soft);border-radius:var(--lfv2-radius);
  padding:clamp(30px,3.4vw,52px);
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,3.4vw,56px);align-items:center;
}
.lfv2-inspo__panel h2{margin-bottom:0}
.lfv2-inspo__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.lfv2-inspo__tags span{
  font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--lfv2-muted);
  border:1px solid var(--lfv2-hairline);border-radius:100px;padding:6px 13px;
}
.lfv2-inspo__after{padding-block:clamp(48px,5.6vw,84px)}

/* ---------- showroom (immersive) ---------- */
.lfv2-showroom{position:relative;min-height:clamp(480px,54vw,620px);display:flex;align-items:center;overflow:hidden;isolation:isolate}
.lfv2-showroom__media{position:absolute;inset:0;z-index:-2}
.lfv2-showroom__media img{width:100%;height:100%;object-fit:cover;object-position:center}
.lfv2-showroom__veil{
  position:absolute;inset:0;z-index:-1;
  background:linear-gradient(88deg,rgba(21,18,15,.9) 0%,rgba(21,18,15,.66) 38%,rgba(21,18,15,.14) 70%,rgba(21,18,15,0) 88%);
}
.lfv2-showroom__in{width:var(--lfv2-wrap);margin-inline:auto;padding-block:clamp(56px,6vw,88px)}
.lfv2-showroom__copy{max-width:520px}
.lfv2-showroom__copy h2{margin-bottom:0}
.lfv2-showroom__meta{
  margin:26px 0 28px;display:flex;flex-wrap:wrap;gap:10px 26px;
  font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--lfv2-muted);
}
.lfv2-showroom__meta span{display:inline-flex;align-items:center;gap:9px}
.lfv2-showroom__meta span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--lfv2-gold)}

/* ---------- cooking lifestyle ---------- */
.lfv2-cook{position:relative;min-height:clamp(430px,52vw,600px);display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;isolation:isolate}
.lfv2-cook__media{position:absolute;inset:-8% 0;z-index:-2;will-change:transform}
.lfv2-cook__media img{width:100%;height:100%;object-fit:cover}
.lfv2-cook__veil{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,rgba(21,18,15,.52) 0%,rgba(21,18,15,.74) 100%)}
.lfv2-cook__in{width:var(--lfv2-wrap);margin-inline:auto;padding-block:clamp(56px,6vw,88px)}
.lfv2-cook h2{font-size:clamp(34px,4.4vw,58px);margin-bottom:0}
.lfv2-cook p{color:rgba(245,239,231,.78);font-size:17px;max-width:44ch;margin-inline:auto}

/* ---------- green editorial divider ---------- */
.lfv2-divider{position:relative;overflow:hidden;background:var(--lfv2-olive-deep);isolation:isolate}
.lfv2-divider__media{position:absolute;inset:0;z-index:-2}
.lfv2-divider__media img{width:100%;height:100%;object-fit:cover}
.lfv2-divider__veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(92deg,rgba(30,38,29,.9) 0%,rgba(30,38,29,.6) 42%,rgba(30,38,29,.16) 72%,rgba(30,38,29,0) 92%)}
.lfv2-divider__in{width:var(--lfv2-wrap);margin-inline:auto;padding-block:clamp(64px,7.4vw,108px);min-height:clamp(320px,30vw,420px);display:flex;align-items:center}
.lfv2-divider blockquote{margin:0;max-width:600px}
.lfv2-divider p{
  font-family:var(--lfv2-serif);font-size:clamp(29px,3.5vw,46px);line-height:1.18;color:var(--lfv2-text);
}
.lfv2-divider cite{
  display:block;margin-top:22px;font-style:normal;
  font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--lfv2-gold);
}

/* ---------- service ---------- */
.lfv2-service__in{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(30px,4vw,64px);align-items:center}
.lfv2-service__media{position:relative;border-radius:var(--lfv2-radius);overflow:hidden}
.lfv2-service__media img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.lfv2-service__media::after{content:"";position:absolute;inset:0;border:1px solid var(--lfv2-border-soft);border-radius:var(--lfv2-radius);pointer-events:none}
.lfv2-service__rows{margin-top:26px;border-top:1px solid var(--lfv2-hairline)}
.lfv2-service__row{display:flex;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--lfv2-hairline)}
.lfv2-service__row dt{flex:0 0 auto;width:auto;font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--lfv2-gold);min-width:112px}
.lfv2-service__row dd{margin:0;font-size:15.5px;color:var(--lfv2-muted);line-height:1.6}
.lfv2-service__links{margin-top:24px;display:flex;flex-wrap:wrap;gap:10px 22px}
.lfv2-service__links a{
  font-size:13.5px;font-weight:500;color:var(--lfv2-text);
  border-bottom:1px solid var(--lfv2-border-soft);padding-bottom:3px;
  transition:color .3s var(--lfv2-ease),border-color .3s var(--lfv2-ease);
}
.lfv2-service__links a:hover{color:var(--lfv2-gold-light);border-color:var(--lfv2-gold)}

/* ---------- faq ---------- */
.lfv2-faq__in{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(30px,4vw,64px);align-items:start}
.lfv2-faq__list{border-top:1px solid var(--lfv2-hairline)}
.lfv2-acc{border-bottom:1px solid var(--lfv2-hairline)}
.lfv2-acc__btn{
  width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:22px;
  padding:21px 0;text-align:left;
  font-family:var(--lfv2-serif);font-size:clamp(19px,1.65vw,23px);line-height:1.3;color:var(--lfv2-text);
  transition:color .3s var(--lfv2-ease);
}
.lfv2-acc__btn:hover{color:var(--lfv2-gold-light)}
.lfv2-acc__icon{position:relative;flex:0 0 auto;width:17px;height:17px;margin-top:6px}
.lfv2-acc__icon::before,.lfv2-acc__icon::after{content:"";position:absolute;background:var(--lfv2-gold);transition:transform .4s var(--lfv2-ease),opacity .4s var(--lfv2-ease)}
.lfv2-acc__icon::before{top:8px;left:0;width:17px;height:1.5px}
.lfv2-acc__icon::after{left:8px;top:0;width:1.5px;height:17px}
.lfv2-acc__btn[aria-expanded="true"] .lfv2-acc__icon::after{transform:rotate(90deg);opacity:0}
.lfv2-acc__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .42s var(--lfv2-ease)}
.lfv2-acc.is-open .lfv2-acc__panel{grid-template-rows:1fr}
.lfv2-acc__inner{overflow:hidden}
.lfv2-acc__inner p{padding:0 46px 24px 0;font-size:15.5px;color:var(--lfv2-muted);line-height:1.72}
.lfv2-faq__foot{margin-top:28px}

/* ---------- final cta ---------- */
.lfv2-final{position:relative;min-height:clamp(420px,46vw,540px);display:flex;align-items:center;overflow:hidden;isolation:isolate}
.lfv2-final__media{position:absolute;inset:0;z-index:-2}
.lfv2-final__media img{width:100%;height:100%;object-fit:cover}
.lfv2-final__veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(85deg,rgba(21,18,15,.92) 0%,rgba(21,18,15,.7) 40%,rgba(21,18,15,.2) 72%,rgba(21,18,15,0) 92%)}
.lfv2-final__in{width:var(--lfv2-wrap);margin-inline:auto;padding-block:clamp(52px,5.6vw,80px)}
.lfv2-final__copy{max-width:560px}
.lfv2-final h2{margin-bottom:0}
.lfv2-final .lfv2-lead{margin-bottom:28px}
.lfv2-final__wa{margin-top:24px;display:inline-flex;align-items:center;gap:9px;font-size:13.5px;color:var(--lfv2-muted);transition:color .3s}
.lfv2-final__wa:hover{color:var(--lfv2-gold-light)}
.lfv2-final__wa svg{width:16px;height:16px}

/* ---------- footer ---------- */
.lfv2-footer{background:var(--lfv2-bg-2);border-top:1px solid var(--lfv2-hairline);padding-block:clamp(40px,3.8vw,54px) 0}
.lfv2-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:clamp(26px,3vw,48px)}
.lfv2-footer__brand .lfv2-brand__name{font-size:26px}
.lfv2-footer__about{margin-top:16px;font-size:14.5px;color:var(--lfv2-muted);line-height:1.7;max-width:34ch}
.lfv2-footer h3{font-size:11.5px;font-family:var(--lfv2-sans);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--lfv2-gold);margin-bottom:16px}
.lfv2-footer li{margin-bottom:10px}
.lfv2-footer li a,.lfv2-footer address{font-size:14.5px;color:var(--lfv2-muted);font-style:normal;line-height:1.75;transition:color .3s}
.lfv2-footer li a:hover{color:var(--lfv2-text)}
.lfv2-footer address a{color:var(--lfv2-gold)}
.lfv2-footer__bar{
  margin-top:clamp(34px,3.6vw,52px);padding-block:22px;border-top:1px solid var(--lfv2-hairline);
  display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center;justify-content:space-between;
  font-size:12.5px;color:var(--lfv2-muted);
}
.lfv2-footer__bar nav{display:flex;flex-wrap:wrap;gap:10px 22px}
.lfv2-footer__bar a:hover{color:var(--lfv2-text)}
.lfv2-flag{
  display:inline-flex;align-items:center;gap:8px;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--lfv2-gold);border:1px solid var(--lfv2-border-soft);border-radius:100px;padding:5px 12px;
}

/* ---------- optional modules (structure ready, hidden) ---------- */
.lfv2-module--optional{display:none}
.lfv2-module--optional.is-enabled{display:block}

/* ---------- scroll reveal ---------- */
.lfv2-reveal{opacity:0;transform:translateY(22px);transition:opacity .75s var(--lfv2-ease),transform .75s var(--lfv2-ease)}
.lfv2-reveal.is-in{opacity:1;transform:none}
.lfv2-reveal[data-delay="1"]{transition-delay:.09s}
.lfv2-reveal[data-delay="2"]{transition-delay:.18s}
.lfv2-reveal[data-delay="3"]{transition-delay:.27s}
.lfv2-no-js .lfv2-reveal{opacity:1;transform:none}

/* ============================================================
   RESPONSIVE
   ============================================================ */

/* ---- laptop / small desktop ---- */
@media (max-width:1180px){
  .lfv2-root{--lfv2-wrap:min(1240px,calc(100% - 40px))}
  .lfv2-nav__link{padding:9px 10px;font-size:13px}
}

/* ---- burger threshold ---- */
@media (max-width:1080px){
  .lfv2-nav,.lfv2-header__cta{display:none}
  .lfv2-burger{display:flex}
  .lfv2-hero__scroll{display:none}
}

/* ---- tablet ---- */
@media (max-width:900px){
  .lfv2-root{font-size:16px}
  .lfv2-grid-3{grid-template-columns:repeat(2,1fr)}
  .lfv2-grid-3:not(.lfv2-grid-3--cat) > .lfv2-card:first-child{grid-column:1 / -1}
  .lfv2-grid-3:not(.lfv2-grid-3--cat) > .lfv2-card:first-child .lfv2-card__media{aspect-ratio:21/9}
  .lfv2-split,.lfv2-craft__in,.lfv2-service__in,.lfv2-faq__in,.lfv2-inspo__panel{grid-template-columns:1fr}
  .lfv2-craft__media{order:1}
  .lfv2-craft__copy{order:2}
  .lfv2-offer__top{flex-direction:column;align-items:flex-start;gap:22px}
  .lfv2-footer__grid{grid-template-columns:1fr 1fr}
  .lfv2-footer__brand{grid-column:1 / -1}
  .lfv2-trust__list{display:grid;grid-template-columns:repeat(3,1fr)}
  .lfv2-trust__item{padding:15px 18px;border-left:1px solid var(--lfv2-hairline)}
  .lfv2-trust__item:nth-child(3n+1){border-left:0;padding-left:0}
  .lfv2-inspo__panel{margin-top:clamp(-80px,-8vw,-48px)}
  /* copy sits on darker ground now the hero is narrower */
  .lfv2-hero__veil{
    background:
      linear-gradient(104deg,rgba(21,18,15,.9) 0%,rgba(21,18,15,.7) 44%,rgba(21,18,15,.34) 72%,rgba(21,18,15,.14) 100%),
      linear-gradient(to top,rgba(21,18,15,.82),rgba(21,18,15,0) 52%);
  }
  .lfv2-hero{min-height:560px}
}

/* ---- mobile ---- */
@media (max-width:640px){
  .lfv2-root{--lfv2-wrap:calc(100% - 32px)}
  .lfv2-section{padding-block:clamp(48px,11vw,64px)}
  .lfv2-section--tight{padding-block:40px}

  /* full-bleed sections stack instead of sitting side by side */
  .lfv2-hero,.lfv2-showroom,.lfv2-cook,.lfv2-final{flex-direction:column;align-items:stretch}
  .lfv2-hero__media,.lfv2-showroom__media,.lfv2-cook__media,.lfv2-final__media{flex:0 0 auto;width:100%}

  /* hero rebuilt for portrait: the whole headline block sits on dark ground */
  .lfv2-hero{min-height:0}
  .lfv2-hero__media{position:relative;inset:auto;z-index:0;height:62vh;max-height:520px;min-height:380px}
  .lfv2-hero__veil{background:linear-gradient(to bottom,rgba(21,18,15,.42) 0%,rgba(21,18,15,.08) 30%,rgba(21,18,15,.62) 62%,rgba(21,18,15,.97) 84%,var(--lfv2-bg) 96%);z-index:1}
  .lfv2-hero__in{position:relative;z-index:2;margin-top:-104px;padding-block:0 40px}
  .lfv2-hero h1{font-size:clamp(32px,8.6vw,40px);margin-bottom:15px}
  .lfv2-hero__lead{font-size:15.5px;margin-bottom:22px}
  .lfv2-hero .lfv2-btns{display:grid;gap:10px;margin-bottom:20px}
  .lfv2-hero .lfv2-btn{width:100%;padding:14px 22px}
  .lfv2-hero__trust{font-size:11px}

  .lfv2-eyebrow{margin-bottom:14px;font-size:11px}
  .lfv2-h2{font-size:clamp(28px,7.6vw,34px)}
  .lfv2-lead{font-size:15.5px}

  .lfv2-trust__list{grid-template-columns:1fr}
  .lfv2-trust__item{font-size:13.5px;padding:12px 0;border-left:0;border-bottom:1px solid var(--lfv2-hairline)}
  .lfv2-trust__item:last-child{border-bottom:0}
  .lfv2-trust{padding-block:8px}

  .lfv2-marquee__item{font-size:21px;padding-inline:20px}

  .lfv2-grid-3{grid-template-columns:1fr;gap:18px}
  .lfv2-grid-3:not(.lfv2-grid-3--cat) > .lfv2-card:first-child .lfv2-card__media{aspect-ratio:4/3}
  .lfv2-card__body{padding:18px 18px 20px}
  .lfv2-card__title{font-size:22px}
  .lfv2-card__price-now{font-size:23px}
  .lfv2-offer__foot .lfv2-btn{width:100%}

  .lfv2-deflist__row{grid-template-columns:1fr;gap:5px;padding:13px 0}
  .lfv2-split__media img{aspect-ratio:3/2}

  .lfv2-steps li{padding-left:46px;font-size:15px}
  .lfv2-craft__note{font-size:14px;padding:14px 16px}

  .lfv2-inspo__media{height:300px}
  .lfv2-inspo__panel{margin-top:-40px;padding:26px 22px}
  .lfv2-inspo__after{padding-block:44px}

  .lfv2-showroom{min-height:0}
  .lfv2-showroom__media{position:relative;inset:auto;z-index:0;height:48vh;max-height:380px;min-height:280px}
  .lfv2-showroom__veil{background:linear-gradient(to bottom,rgba(21,18,15,.3),rgba(21,18,15,.9) 82%,var(--lfv2-bg) 100%);z-index:1}
  .lfv2-showroom__in{position:relative;z-index:2;margin-top:-56px;padding-block:0 48px}
  .lfv2-showroom__meta{gap:8px 18px;font-size:12px;margin:20px 0 22px}
  .lfv2-showroom .lfv2-btns{display:grid;gap:11px}
  .lfv2-showroom .lfv2-btn{width:100%}

  .lfv2-cook{min-height:0}
  .lfv2-cook__media{position:relative;inset:auto;z-index:0;height:62vh;max-height:480px;min-height:360px}
  .lfv2-cook__veil{z-index:1}
  .lfv2-cook__in{position:absolute;inset:auto 0 0;z-index:2;padding-block:0 38px}
  .lfv2-cook h2{font-size:clamp(30px,8.4vw,38px)}
  .lfv2-cook p{font-size:15.5px}

  .lfv2-divider__in{min-height:0;padding-block:76px 84px}
  .lfv2-divider__veil{background:linear-gradient(to bottom,rgba(30,38,29,.74),rgba(30,38,29,.52) 46%,rgba(30,38,29,.88))}
  .lfv2-divider p{font-size:clamp(26px,7.4vw,32px)}
  .lfv2-divider cite{margin-top:18px}

  .lfv2-service__row{flex-direction:column;gap:4px;padding:13px 0}
  .lfv2-service__media img{aspect-ratio:4/3}

  .lfv2-acc__btn{font-size:18px;padding:18px 0;gap:16px}
  .lfv2-acc__inner p{padding-right:26px;font-size:15px}
  .lfv2-faq__foot .lfv2-link{font-size:13px}

  .lfv2-final{min-height:0}
  .lfv2-final__media{position:relative;inset:auto;z-index:0;height:46vh;max-height:360px;min-height:260px}
  .lfv2-final__veil{background:linear-gradient(to bottom,rgba(21,18,15,.34),rgba(21,18,15,.9) 80%,var(--lfv2-bg) 100%);z-index:1}
  .lfv2-final__in{position:relative;z-index:2;margin-top:-52px;padding-block:0 48px}
  .lfv2-final .lfv2-btns{display:grid;gap:11px}
  .lfv2-final .lfv2-btn{width:100%}

  .lfv2-footer__grid{grid-template-columns:1fr;gap:30px}
  .lfv2-footer__bar{flex-direction:column;align-items:flex-start;gap:16px}
}

@media (max-width:380px){
  .lfv2-brand__name{font-size:20px}
  .lfv2-drawer__link{font-size:23px}
}

/* ---- motion preferences ---- */
@media (prefers-reduced-motion:reduce){
  html.lfv2-html{scroll-behavior:auto}
  .lfv2-root *,.lfv2-root *::before,.lfv2-root *::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important;
  }
  .lfv2-marquee__track{animation:none;transform:none}
  .lfv2-marquee{-webkit-mask-image:none;mask-image:none;overflow-x:auto}
  .lfv2-reveal{opacity:1;transform:none}
  .lfv2-cook__media{transform:none!important;inset:0}
}

/* ---- print ---- */
@media print{
  .lfv2-header,.lfv2-drawer,.lfv2-burger{display:none!important}
  .lfv2-root{background:#fff;color:#000}
}

/* ============================================================
   V2 AANBOD (archive)
   ============================================================ */

.lfv2-arch{padding-block:calc(var(--lfv2-header-h) + clamp(44px,4.6vw,66px)) clamp(26px,3vw,38px);border-bottom:1px solid var(--lfv2-hairline)}
.lfv2-arch__title{font-size:clamp(34px,4.2vw,54px);letter-spacing:-.01em;margin-bottom:18px}
.lfv2-arch .lfv2-lead{max-width:56ch}
.lfv2-arch__note{
  margin-top:20px;display:inline-flex;align-items:center;gap:11px;
  font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--lfv2-muted);
}
.lfv2-arch__note::before{content:"";width:26px;height:1px;background:var(--lfv2-border)}

.lfv2-cat{display:grid;grid-template-columns:236px 1fr;gap:clamp(28px,3.2vw,52px);align-items:start}
.lfv2-cat__main{min-width:0}

/* filters */
.lfv2-filters{position:sticky;top:calc(var(--lfv2-header-h) + 18px)}
.lfv2-filters__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.lfv2-filters__title{font-family:var(--lfv2-sans);font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--lfv2-gold)}
.lfv2-filters__close{display:none;font-size:26px;line-height:1;color:var(--lfv2-muted);width:40px;height:40px}
.lfv2-filters__group{padding-block:16px;border-top:1px solid var(--lfv2-hairline)}
.lfv2-filters__group:first-of-type{border-top:0;padding-top:0}
.lfv2-filters__label{font-family:var(--lfv2-sans);font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--lfv2-text);margin-bottom:12px}
.lfv2-chips{display:flex;flex-wrap:wrap;gap:8px}
.lfv2-chip{
  display:inline-flex;align-items:center;font-size:12.5px;letter-spacing:.01em;color:var(--lfv2-muted);
  border:1px solid var(--lfv2-hairline);border-radius:100px;padding:7px 13px;
  transition:border-color .3s var(--lfv2-ease),color .3s var(--lfv2-ease),background-color .3s var(--lfv2-ease);
}
.lfv2-chip:hover{border-color:var(--lfv2-border);color:var(--lfv2-text)}
.lfv2-chip.is-active{background:rgba(205,164,104,.12);border-color:var(--lfv2-gold);color:var(--lfv2-gold-light)}
.lfv2-filters__reset{margin-top:20px}
.lfv2-filters__reset .lfv2-link{font-size:12.5px}
.lfv2-filters__backdrop{display:none}

/* toolbar */
.lfv2-toolbar{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  padding-bottom:18px;margin-bottom:clamp(20px,2.2vw,28px);border-bottom:1px solid var(--lfv2-hairline);
}
.lfv2-toolbar__count{font-size:13.5px;color:var(--lfv2-muted)}
.lfv2-toolbar__count strong{color:var(--lfv2-text);font-weight:600}
.lfv2-toolbar__filterbtn{display:none;align-items:center;gap:9px;font-size:13px;font-weight:600;color:var(--lfv2-text);border:1px solid var(--lfv2-border-soft);border-radius:8px;padding:10px 16px}
.lfv2-toolbar__filterbtn svg{width:15px;height:15px;color:var(--lfv2-gold)}
.lfv2-toolbar__dot{width:6px;height:6px;border-radius:50%;background:var(--lfv2-gold);display:inline-block}
.lfv2-sort{display:flex;align-items:center;gap:4px;margin-left:auto;flex-wrap:wrap}
.lfv2-sort__label{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--lfv2-muted);margin-right:8px}
.lfv2-sort__opt{
  font-size:12.5px;color:var(--lfv2-muted);padding:7px 11px;border-radius:6px;
  transition:color .3s var(--lfv2-ease),background-color .3s var(--lfv2-ease);
}
.lfv2-sort__opt:hover{color:var(--lfv2-text)}
.lfv2-sort__opt.is-active{color:var(--lfv2-gold-light);background:rgba(205,164,104,.09)}

.lfv2-grid-3--cat{gap:clamp(18px,1.8vw,24px)}
.lfv2-card__noimg{display:block;width:100%;height:100%;background:var(--lfv2-bg-2)}
.lfv2-card__price-now--poa{font-size:18px;color:var(--lfv2-gold-light)}

/* pagination */
.lfv2-pager{display:flex;gap:8px;justify-content:center;margin-top:clamp(28px,3vw,44px)}
.lfv2-pager__item{
  min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--lfv2-hairline);border-radius:8px;font-size:13.5px;color:var(--lfv2-muted);
  transition:border-color .3s,color .3s;
}
.lfv2-pager__item:hover{border-color:var(--lfv2-border);color:var(--lfv2-text)}
.lfv2-pager__item.is-active{border-color:var(--lfv2-gold);color:var(--lfv2-gold-light);background:rgba(205,164,104,.1)}

/* empty state */
.lfv2-empty{text-align:center;max-width:56ch;margin-inline:auto;padding-block:clamp(40px,5vw,72px)}
.lfv2-empty .lfv2-lead{margin-inline:auto}
.lfv2-empty .lfv2-btns{justify-content:center;margin-top:28px}

/* ============================================================
   V2 PRODUCTDETAIL
   ============================================================ */

.lfv2-crumbs{padding-block:calc(var(--lfv2-header-h) + 26px) 0}
.lfv2-crumbs .lfv2-wrap,.lfv2-crumbs > div{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:12.5px;color:var(--lfv2-muted)}
.lfv2-crumbs a{transition:color .3s}
.lfv2-crumbs a:hover{color:var(--lfv2-gold-light)}
.lfv2-crumbs span[aria-hidden]{opacity:.4}
.lfv2-crumbs__here{color:var(--lfv2-text)}

.lfv2-pdp{padding-block:clamp(24px,2.6vw,36px) clamp(40px,3.8vw,56px)}
.lfv2-pdp__in{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(30px,3.6vw,60px);align-items:start}

/* gallery */
.lfv2-gal{position:sticky;top:calc(var(--lfv2-header-h) + 20px)}
.lfv2-gal__track{
  display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  border-radius:var(--lfv2-radius);border:1px solid var(--lfv2-border-soft);background:var(--lfv2-bg-2);
  scrollbar-width:none;-ms-overflow-style:none;
}
.lfv2-gal__track::-webkit-scrollbar{display:none}
.lfv2-gal__slide{flex:0 0 100%;scroll-snap-align:center;aspect-ratio:4/3}
.lfv2-gal__slide img{width:100%;height:100%;object-fit:cover;display:block}
.lfv2-gal__thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.lfv2-gal__thumbs::-webkit-scrollbar{display:none}
.lfv2-gal__thumb{
  flex:0 0 auto;width:84px;aspect-ratio:4/3;border-radius:8px;overflow:hidden;
  border:1px solid var(--lfv2-hairline);opacity:.62;
  transition:opacity .3s var(--lfv2-ease),border-color .3s var(--lfv2-ease);
}
.lfv2-gal__thumb img{width:100%;height:100%;object-fit:cover}
.lfv2-gal__thumb:hover{opacity:.9}
.lfv2-gal__thumb.is-active{opacity:1;border-color:var(--lfv2-gold)}

/* product info column */
.lfv2-pdp__title{font-size:clamp(29px,3.2vw,42px);line-height:1.1;margin-bottom:10px}
.lfv2-pdp__sub{font-size:15px;color:var(--lfv2-muted);letter-spacing:.01em}
.lfv2-pdp__price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px;margin:24px 0 18px;padding-bottom:20px;border-bottom:1px solid var(--lfv2-hairline)}
.lfv2-pdp__was{font-size:15px;color:var(--lfv2-muted);text-decoration:line-through}
.lfv2-pdp__now{font-family:var(--lfv2-serif);font-size:clamp(30px,3vw,38px);line-height:1;color:var(--lfv2-text)}
.lfv2-pdp__now--poa{font-size:24px;color:var(--lfv2-gold-light)}
.lfv2-pdp__status{
  font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--lfv2-gold-light);
  border:1px solid var(--lfv2-border-soft);border-radius:5px;padding:5px 10px;align-self:center;
}
.lfv2-pdp__keyspecs{display:block;font-size:14px;color:var(--lfv2-muted);margin-bottom:18px}
.lfv2-pdp__keyspecs span + span::before{content:"\00b7";margin:0 9px;color:var(--lfv2-gold);opacity:.55}
.lfv2-pdp__intro{font-size:15.5px;line-height:1.72;color:var(--lfv2-muted);margin-bottom:26px}
.lfv2-pdp__cta{margin-bottom:16px}
.lfv2-pdp__alt{margin-bottom:26px}
.lfv2-pdp__alt .lfv2-link{font-size:12.5px}
.lfv2-pdp__trust{border-top:1px solid var(--lfv2-hairline);padding-top:18px;display:grid;gap:11px}
.lfv2-pdp__trust li{position:relative;padding-left:24px;font-size:13.5px;color:var(--lfv2-muted)}
.lfv2-pdp__trust li::before{
  content:"";position:absolute;left:0;top:7px;width:11px;height:6px;
  border-left:1.5px solid var(--lfv2-gold);border-bottom:1.5px solid var(--lfv2-gold);transform:rotate(-45deg);
}

/* specifications */
.lfv2-specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));gap:clamp(20px,2.2vw,32px)}
.lfv2-specs__group{background:var(--lfv2-card);border:1px solid var(--lfv2-border-soft);border-radius:var(--lfv2-radius);padding:22px 24px 10px}
.lfv2-specs__title{font-family:var(--lfv2-sans);font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--lfv2-gold);margin-bottom:14px}
.lfv2-specs__row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid var(--lfv2-hairline)}
.lfv2-specs__row:first-child{border-top:0}
.lfv2-specs__row dt{font-size:13.5px;color:var(--lfv2-muted)}
.lfv2-specs__row dd{margin:0;font-size:14.5px;color:var(--lfv2-text);text-align:right}

/* description + aside */
.lfv2-pdp__story{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(28px,3.4vw,56px);align-items:start}
.lfv2-pdp__prose{max-width:66ch}
.lfv2-pdp__prose h3{font-size:clamp(21px,2vw,26px);margin:30px 0 12px}
.lfv2-pdp__prose h3:first-of-type{margin-top:14px}
.lfv2-pdp__prose p:not(.lfv2-eyebrow){font-size:16px;line-height:1.78;color:var(--lfv2-muted);margin-bottom:16px}
.lfv2-pdp__box{background:var(--lfv2-card);border:1px solid var(--lfv2-border-soft);border-radius:var(--lfv2-radius);padding:22px 24px}
.lfv2-pdp__box + .lfv2-pdp__box{margin-top:18px}
.lfv2-pdp__box--accent{border-left:2px solid var(--lfv2-gold)}
.lfv2-pdp__boxtitle{font-family:var(--lfv2-sans);font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--lfv2-gold);margin-bottom:14px}
.lfv2-pdp__box p{font-size:14.5px;line-height:1.7;color:var(--lfv2-muted);margin-bottom:14px}
.lfv2-pdp__box p:last-child{margin-bottom:0}
.lfv2-pdp__box strong{display:block;font-size:13px;font-weight:600;color:var(--lfv2-text);margin-bottom:3px}
.lfv2-pdp__boxnote{border-top:1px solid var(--lfv2-hairline);padding-top:14px;font-size:13.5px!important}
.lfv2-pdp__box .lfv2-service__row dt{min-width:0;flex:0 0 116px}
.lfv2-pdp__box .lfv2-service__row dd{font-size:14px}

/* assurance row */
.lfv2-assure{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:clamp(20px,2.4vw,34px)}
.lfv2-assure__item h3{font-family:var(--lfv2-serif);font-size:23px;margin-bottom:10px}
.lfv2-assure__item p{font-size:14.5px;line-height:1.7;color:var(--lfv2-muted);margin-bottom:14px}
.lfv2-assure__item .lfv2-link{font-size:12.5px}

/* ---- responsive ---- */
@media (max-width:1080px){
  .lfv2-cat{grid-template-columns:1fr}
  .lfv2-toolbar__filterbtn{display:inline-flex}
  .lfv2-filters{
    position:fixed;inset:0 0 0 auto;z-index:97;width:min(360px,86vw);
    background:var(--lfv2-bg-2);border-left:1px solid var(--lfv2-border-soft);
    padding:22px 22px 40px;overflow-y:auto;overscroll-behavior:contain;
    transform:translateX(100%);visibility:hidden;
    transition:transform .4s var(--lfv2-ease),visibility .4s;
  }
  .lfv2-filters.is-open{transform:none;visibility:visible}
  .lfv2-filters__close{display:block}
  .lfv2-filters__backdrop{display:block;position:fixed;inset:0;z-index:96;background:rgba(10,8,7,.6);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s var(--lfv2-ease),visibility .4s}
  .lfv2-filters__backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto}
  .lfv2-pdp__in{grid-template-columns:1fr;gap:30px}
  .lfv2-gal{position:static}
  .lfv2-pdp__story{grid-template-columns:1fr}
}

@media (max-width:640px){
  .lfv2-arch{padding-block:calc(var(--lfv2-header-h) + 34px) 24px}
  .lfv2-arch__title{font-size:clamp(28px,7.8vw,34px)}
  .lfv2-toolbar{gap:12px}
  .lfv2-toolbar__count{flex:1 1 100%}
  .lfv2-sort{margin-left:0;flex:1 1 100%;gap:2px}
  .lfv2-sort__label{flex:1 1 100%;margin:0 0 6px}
  .lfv2-sort__opt{padding:7px 9px;font-size:12px}
  .lfv2-crumbs{padding-top:calc(var(--lfv2-header-h) + 18px)}
  .lfv2-crumbs .lfv2-wrap{font-size:12px;gap:7px}
  .lfv2-pdp{padding-block:18px 40px}
  .lfv2-pdp__title{font-size:clamp(26px,7.2vw,32px)}
  .lfv2-pdp__now{font-size:30px}
  .lfv2-pdp__price{margin:20px 0 16px}
  .lfv2-pdp__cta{display:grid;gap:10px}
  .lfv2-pdp__cta .lfv2-btn{width:100%}
  .lfv2-gal__slide{aspect-ratio:1/1}
  .lfv2-gal__thumb{width:64px}
  .lfv2-specs__group{padding:18px 18px 6px}
  .lfv2-specs__row{flex-direction:column;gap:2px;align-items:flex-start}
  .lfv2-specs__row dd{text-align:left}
  .lfv2-pdp__box{padding:18px 18px}
  .lfv2-pdp__box .lfv2-service__row{flex-direction:column;gap:3px}
  .lfv2-empty .lfv2-btns{display:grid;gap:10px}
  .lfv2-empty .lfv2-btn{width:100%}
  .lfv2-pager__item{min-width:38px;height:38px}
}

/* ============================================================
   V2 MERKEN / OVER ONS / INSPIRATIE
   ============================================================ */

/* quick nav under an archive intro */
.lfv2-quicknav{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.lfv2-quicknav a{
  font-size:12.5px;letter-spacing:.02em;color:var(--lfv2-muted);
  border:1px solid var(--lfv2-hairline);border-radius:100px;padding:7px 14px;
  transition:border-color .3s var(--lfv2-ease),color .3s var(--lfv2-ease),background-color .3s var(--lfv2-ease);
}
.lfv2-quicknav a:hover{border-color:var(--lfv2-gold);color:var(--lfv2-gold-light);background:rgba(205,164,104,.09)}

/* brand directory */
.lfv2-brandgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(296px,1fr));gap:clamp(18px,1.9vw,26px)}
.lfv2-brandcard{
  display:flex;flex-direction:column;background:var(--lfv2-card);
  border:1px solid var(--lfv2-border-soft);border-radius:var(--lfv2-radius);
  padding:26px 26px 24px;scroll-margin-top:calc(var(--lfv2-header-h) + 24px);
  transition:transform .45s var(--lfv2-ease),border-color .45s var(--lfv2-ease),background-color .45s var(--lfv2-ease);
}
.lfv2-brandcard:hover{transform:translateY(-3px);border-color:var(--lfv2-border);background:var(--lfv2-elev)}
.lfv2-brandcard__head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:14px}
.lfv2-brandcard__name{font-size:clamp(25px,2.2vw,30px);line-height:1.1}
.lfv2-brandcard__count{
  flex:0 0 auto;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--lfv2-gold-light);border:1px solid var(--lfv2-border-soft);border-radius:100px;padding:5px 11px;
}
.lfv2-brandcard__intro{font-size:15px;line-height:1.72;color:var(--lfv2-muted)}
.lfv2-brandcard__traits{margin-top:18px;display:grid;gap:8px}
.lfv2-brandcard__traits li{position:relative;padding-left:20px;font-size:13.5px;color:var(--lfv2-muted)}
.lfv2-brandcard__traits li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:1px;background:var(--lfv2-gold)}
.lfv2-brandcard__foot{margin-top:auto;padding-top:20px}
.lfv2-brandcard__foot .lfv2-link{font-size:12.5px}
.lfv2-link--muted{color:var(--lfv2-muted);border-bottom-color:var(--lfv2-hairline)}
.lfv2-link--muted:hover{color:var(--lfv2-text);border-bottom-color:var(--lfv2-border)}

/* fact row under the over-ons intro */
.lfv2-facts{
  margin-top:32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(184px,1fr));
  gap:0;border-top:1px solid var(--lfv2-hairline);
}
.lfv2-facts > div{padding:18px 22px;border-left:1px solid var(--lfv2-hairline)}
.lfv2-facts > div:first-child{border-left:0;padding-left:0}
.lfv2-facts dt{font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--lfv2-gold);margin-bottom:7px}
.lfv2-facts dd{margin:0;font-family:var(--lfv2-serif);font-size:20px;line-height:1.25;color:var(--lfv2-text)}

/* editorial hero (inspiratie) */
.lfv2-edhero{position:relative;display:flex;align-items:flex-end;min-height:clamp(420px,48vw,560px);overflow:hidden;isolation:isolate}
.lfv2-edhero__media{position:absolute;inset:0;z-index:-2}
.lfv2-edhero__media img{width:100%;height:100%;object-fit:cover}
.lfv2-edhero__veil{
  position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(96deg,rgba(21,18,15,.88) 0%,rgba(21,18,15,.62) 44%,rgba(21,18,15,.18) 74%,rgba(21,18,15,0) 92%),
    linear-gradient(to top,rgba(21,18,15,.8),rgba(21,18,15,0) 50%);
}
.lfv2-edhero__in{width:var(--lfv2-wrap);margin-inline:auto;padding-block:calc(var(--lfv2-header-h) + clamp(50px,5vw,74px)) clamp(48px,5vw,74px)}
.lfv2-edhero__copy{max-width:620px}
.lfv2-edhero__title{font-size:clamp(34px,4.4vw,56px);line-height:1.06;margin-bottom:20px}

/* numbered editorial guide */
.lfv2-guide{display:grid;grid-template-columns:repeat(auto-fit,minmax(288px,1fr));gap:clamp(24px,2.8vw,44px)}
.lfv2-guide__item{position:relative;padding-top:26px;border-top:1px solid var(--lfv2-border-soft)}
.lfv2-guide__num{
  display:block;font-family:var(--lfv2-serif);font-size:15px;letter-spacing:.08em;
  color:var(--lfv2-gold);margin-bottom:12px;
}
.lfv2-guide__item h3{font-size:clamp(21px,1.9vw,25px);margin-bottom:12px}
.lfv2-guide__item p{font-size:15px;line-height:1.74;color:var(--lfv2-muted)}
.lfv2-guide__item .lfv2-link{margin-top:16px;font-size:12.5px}

/* ---- responsive ---- */
@media (max-width:900px){
  .lfv2-facts > div{padding:16px 18px}
}

@media (max-width:640px){
  .lfv2-quicknav{gap:7px;margin-top:22px}
  .lfv2-quicknav a{font-size:12px;padding:6px 12px}
  .lfv2-brandgrid{grid-template-columns:1fr;gap:16px}
  .lfv2-brandcard{padding:22px 20px 20px}
  .lfv2-brandcard__name{font-size:24px}
  .lfv2-brandcard__head{gap:10px}
  .lfv2-facts{grid-template-columns:1fr 1fr;margin-top:26px}
  .lfv2-facts > div{padding:14px 0;border-left:0;border-bottom:1px solid var(--lfv2-hairline)}
  .lfv2-facts > div:nth-child(even){padding-left:16px;border-left:1px solid var(--lfv2-hairline)}
  .lfv2-facts dd{font-size:17px}
  .lfv2-edhero{min-height:0;flex-direction:column;align-items:stretch}
  .lfv2-edhero__media{position:relative;inset:auto;z-index:0;flex:0 0 auto;width:100%;height:52vh;max-height:420px;min-height:320px}
  .lfv2-edhero__veil{z-index:1;background:linear-gradient(to bottom,rgba(21,18,15,.4) 0%,rgba(21,18,15,.1) 34%,rgba(21,18,15,.72) 66%,rgba(21,18,15,.97) 88%,var(--lfv2-bg) 98%)}
  .lfv2-edhero__in{position:relative;z-index:2;margin-top:-92px;padding-block:0 40px}
  .lfv2-edhero__title{font-size:clamp(30px,8.2vw,38px);margin-bottom:16px}
  .lfv2-guide{grid-template-columns:1fr;gap:26px}
  .lfv2-guide__item{padding-top:22px}
}

/* ============================================================
   V2 MERKDETAIL
   ============================================================ */

/* typographic hero for brands without their own photography */
.lfv2-brandhero{
  background:var(--lfv2-olive);position:relative;overflow:hidden;
  padding-block:clamp(48px,5.4vw,86px) clamp(38px,3.8vw,56px);
}
.lfv2-brandhero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 90% at 82% 18%,rgba(205,164,104,.10),rgba(205,164,104,0) 60%);
}
.lfv2-brandhero__in{position:relative}
.lfv2-brandhero__title{
  font-size:clamp(38px,4.8vw,64px);line-height:1.02;letter-spacing:-.015em;
  margin-bottom:24px;color:var(--lfv2-text);
}
.lfv2-brandhero__lead{max-width:56ch;color:rgba(245,239,231,.78)}
.lfv2-brandhero .lfv2-btns{margin-top:32px}
.lfv2-edhero--brand .lfv2-edhero__title{font-size:clamp(30px,4.4vw,60px)}

/* kenmerken row */
.lfv2-traits{margin-top:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:14px 32px}
.lfv2-traits li{
  position:relative;padding:14px 0 14px 26px;font-size:15px;color:var(--lfv2-text);
  border-top:1px solid var(--lfv2-hairline);
}
.lfv2-traits li::before{
  content:"";position:absolute;left:0;top:22px;width:12px;height:1px;background:var(--lfv2-gold);
}

/* brand story + background aside */
.lfv2-brandstory{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(30px,3.6vw,60px);align-items:start}
.lfv2-brandstory__main{min-width:0}
.lfv2-brandstory__box{
  background:var(--lfv2-card);border:1px solid var(--lfv2-border-soft);
  border-left:2px solid var(--lfv2-gold);border-radius:var(--lfv2-radius);padding:24px 26px;
}
.lfv2-brandstory__boxtitle{
  font-family:var(--lfv2-sans);font-size:11.5px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--lfv2-gold);margin-bottom:14px;
}
.lfv2-brandstory__box p{font-size:14.5px;line-height:1.75;color:var(--lfv2-muted);margin-bottom:13px}
.lfv2-brandstory__box p:last-child{margin-bottom:0}

/* comparison list in the advice block */
.lfv2-compare{margin-top:24px;display:grid;gap:0}
.lfv2-compare li{
  padding:13px 0;border-top:1px solid rgba(245,239,231,.10);
  font-size:14.5px;line-height:1.6;color:rgba(245,239,231,.74);
}
.lfv2-compare li:first-child{border-top:0;padding-top:0}
.lfv2-compare strong{
  display:block;font-family:var(--lfv2-sans);font-size:11.5px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--lfv2-gold);margin-bottom:5px;
}

/* the brand empty state reuses .lfv2-empty but needs its own rhythm */
.lfv2-empty .lfv2-eyebrow--center{margin-bottom:16px}

@media (max-width:900px){
  .lfv2-brandstory{grid-template-columns:1fr}
}

@media (max-width:640px){
  .lfv2-brandhero{padding-block:36px 34px}
  .lfv2-brandhero__title{font-size:clamp(30px,8.2vw,38px);margin-bottom:18px}
  .lfv2-brandhero .lfv2-btns{display:grid;gap:10px;margin-top:26px}
  .lfv2-brandhero .lfv2-btn{width:100%}
  .lfv2-edhero--brand .lfv2-edhero__title{font-size:clamp(28px,7.6vw,34px)}
  .lfv2-edhero--brand .lfv2-btns{display:grid;gap:10px}
  .lfv2-edhero--brand .lfv2-btn{width:100%}
  .lfv2-traits{grid-template-columns:1fr;gap:0}
  .lfv2-traits li{padding:12px 0 12px 24px;font-size:14.5px}
  .lfv2-traits li::before{top:20px}
  .lfv2-brandstory__box{padding:20px 20px}
  .lfv2-compare li{font-size:14px}
}

/* ============================================================
   V2 SERVICE PAGES
   ============================================================ */

.lfv2-svcnav{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.lfv2-svcnav__item{
  font-size:12.5px;letter-spacing:.02em;color:var(--lfv2-muted);
  border:1px solid var(--lfv2-hairline);border-radius:100px;padding:8px 15px;
  transition:border-color .3s var(--lfv2-ease),color .3s var(--lfv2-ease),background-color .3s var(--lfv2-ease);
}
a.lfv2-svcnav__item:hover{border-color:var(--lfv2-gold);color:var(--lfv2-gold-light);background:rgba(205,164,104,.09)}
.lfv2-svcnav__item.is-current{border-color:var(--lfv2-border);color:var(--lfv2-text);background:rgba(205,164,104,.07)}

/* ---- forms ---- */
.lfv2-form{margin-top:22px}
.lfv2-form__row{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.lfv2-field{margin-bottom:18px;min-width:0}
.lfv2-field__label{display:block;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--lfv2-text);margin-bottom:7px}
.lfv2-field__req{color:var(--lfv2-gold);margin-left:3px}
.lfv2-field__opt{font-weight:400;color:var(--lfv2-muted)}
.lfv2-field__hint{font-size:12.5px;color:var(--lfv2-muted);margin-bottom:7px}
.lfv2-field__input{
  width:100%;font-family:var(--lfv2-sans);font-size:15px;color:var(--lfv2-text);
  background:var(--lfv2-bg-2);border:1px solid var(--lfv2-hairline);border-radius:8px;
  padding:13px 14px;transition:border-color .3s var(--lfv2-ease),background-color .3s var(--lfv2-ease);
}
.lfv2-field__input:hover{border-color:var(--lfv2-border-soft)}
.lfv2-field__input:focus{outline:none;border-color:var(--lfv2-gold);background:var(--lfv2-elev)}
.lfv2-field__input:focus-visible{outline:2px solid var(--lfv2-gold-light);outline-offset:2px}
textarea.lfv2-field__input{resize:vertical;min-height:110px;line-height:1.6}
select.lfv2-field__input{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:38px;
  background-image:linear-gradient(45deg,transparent 50%,var(--lfv2-gold) 50%),linear-gradient(135deg,var(--lfv2-gold) 50%,transparent 50%);
  background-position:calc(100% - 19px) 21px,calc(100% - 14px) 21px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;
}
.lfv2-field.has-error .lfv2-field__input{border-color:#C77B62}
.lfv2-field__error{margin-top:7px;font-size:12.5px;color:#E09B82}
.lfv2-form__status{margin:4px 0 18px;font-size:14px;line-height:1.6;color:var(--lfv2-gold-light);border-left:2px solid var(--lfv2-gold);padding-left:14px}
.lfv2-form button[type="submit"]{margin-top:4px}
.lfv2-formnotice{
  margin:18px 0 0;padding:14px 16px;border:1px dashed var(--lfv2-border);border-radius:10px;
  background:rgba(205,164,104,.06);font-size:13.5px;line-height:1.65;color:var(--lfv2-muted);
}
.lfv2-formnotice strong{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--lfv2-gold);margin-bottom:5px}

/* ---- contact layout ---- */
.lfv2-contact{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(30px,3.6vw,60px);align-items:start}
.lfv2-contact__block{padding-bottom:26px;margin-bottom:26px;border-bottom:1px solid var(--lfv2-hairline)}
.lfv2-contact__block:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.lfv2-contact__title{font-family:var(--lfv2-sans);font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--lfv2-gold);margin-bottom:16px}
.lfv2-contact__address{font-style:normal;font-size:16px;line-height:1.75;color:var(--lfv2-text)}
.lfv2-contact__note{margin-top:12px;font-size:14px;line-height:1.65;color:var(--lfv2-muted)}
.lfv2-contact__meta{display:grid;gap:10px}
.lfv2-contact__meta > div{display:flex;gap:14px;font-size:14.5px}
.lfv2-contact__meta dt{color:var(--lfv2-muted);min-width:76px}
.lfv2-contact__meta dd{margin:0;color:var(--lfv2-text)}
.lfv2-contact__form{background:var(--lfv2-card);border:1px solid var(--lfv2-border-soft);border-radius:var(--lfv2-radius);padding:clamp(24px,2.6vw,38px)}

.lfv2-channels{display:grid;gap:14px}
.lfv2-channels li{display:flex;flex-direction:column;gap:3px}
.lfv2-channels__key{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--lfv2-muted)}
.lfv2-channels__val{font-family:var(--lfv2-serif);font-size:22px;color:var(--lfv2-text);transition:color .3s}
.lfv2-channels__val:hover{color:var(--lfv2-gold-light)}
.lfv2-channels--compact .lfv2-channels__val{font-size:17px}

/* ---- afspraak ---- */
.lfv2-appt{position:relative;display:flex;align-items:flex-end;min-height:clamp(400px,44vw,520px);overflow:hidden;isolation:isolate}
.lfv2-appt__media{position:absolute;inset:0;z-index:-2}
.lfv2-appt__media img{width:100%;height:100%;object-fit:cover}
.lfv2-appt__veil{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(96deg,rgba(21,18,15,.9) 0%,rgba(21,18,15,.64) 44%,rgba(21,18,15,.2) 74%,rgba(21,18,15,0) 92%),linear-gradient(to top,rgba(21,18,15,.8),rgba(21,18,15,0) 52%);
}
.lfv2-appt__in{width:var(--lfv2-wrap);margin-inline:auto;padding-block:calc(var(--lfv2-header-h) + clamp(48px,5vw,72px)) clamp(44px,5vw,72px)}
.lfv2-appt__copy{max-width:600px}
.lfv2-appt__title{font-size:clamp(32px,4.2vw,52px);line-height:1.08;margin-bottom:20px}
.lfv2-appt__copy .lfv2-btns{margin-top:28px}
.lfv2-appt__grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(30px,3.6vw,58px);align-items:start}
.lfv2-appt__form{background:var(--lfv2-card);border:1px solid var(--lfv2-border-soft);border-radius:var(--lfv2-radius);padding:clamp(24px,2.6vw,38px);scroll-margin-top:calc(var(--lfv2-header-h) + 20px)}

/* ---- garantie ---- */
.lfv2-terms{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(20px,2.4vw,34px)}
.lfv2-terms__item{background:var(--lfv2-card);border:1px solid var(--lfv2-border-soft);border-radius:var(--lfv2-radius);padding:26px 28px}
.lfv2-terms__value{font-family:var(--lfv2-serif);font-size:clamp(34px,3.6vw,46px);line-height:1;color:var(--lfv2-gold-light);margin-bottom:12px}
.lfv2-terms__label{font-family:var(--lfv2-sans);font-size:13px;font-weight:600;letter-spacing:.03em;color:var(--lfv2-text);margin-bottom:8px}
.lfv2-terms__item p{font-size:14.5px;line-height:1.7;color:var(--lfv2-muted)}

.lfv2-coverage{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,3.2vw,52px);align-items:start}
.lfv2-coverage__title{font-size:clamp(22px,2vw,27px);margin-bottom:18px}
.lfv2-coverage__note{margin-top:18px;font-size:14px;line-height:1.7;color:var(--lfv2-muted)}

.lfv2-list{display:grid;gap:0}
.lfv2-list li{position:relative;padding:12px 0 12px 30px;font-size:15px;line-height:1.6;color:var(--lfv2-muted);border-top:1px solid var(--lfv2-hairline)}
.lfv2-list li:first-child{border-top:0}
.lfv2-list--yes li::before{content:"";position:absolute;left:2px;top:18px;width:11px;height:6px;border-left:1.5px solid var(--lfv2-gold);border-bottom:1.5px solid var(--lfv2-gold);transform:rotate(-45deg)}
.lfv2-list--no li::before{content:"";position:absolute;left:3px;top:21px;width:11px;height:1.5px;background:rgba(170,161,153,.55)}
.lfv2-list--cols{grid-template-columns:1fr 1fr;column-gap:40px}
.lfv2-list--cols li:nth-child(2){border-top:0}

/* ---- levering ---- */
.lfv2-zones{display:grid;grid-template-columns:repeat(auto-fit,minmax(208px,1fr));gap:clamp(14px,1.6vw,20px)}
.lfv2-zones__item{
  background:var(--lfv2-card);border:1px solid var(--lfv2-border-soft);border-radius:var(--lfv2-radius);
  padding:22px 24px;transition:border-color .4s var(--lfv2-ease),transform .4s var(--lfv2-ease);
}
.lfv2-zones__item:hover{border-color:var(--lfv2-border);transform:translateY(-3px)}
.lfv2-zones__dist{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--lfv2-muted);margin-bottom:12px}
.lfv2-zones__price{font-family:var(--lfv2-serif);font-size:clamp(30px,2.8vw,38px);line-height:1;color:var(--lfv2-text)}
.lfv2-zones__extra{margin-top:clamp(24px,2.6vw,36px)}
.lfv2-zones__extra .lfv2-service__row dt{min-width:168px;color:var(--lfv2-gold)}

/* ---- faq groups ---- */
.lfv2-faqgroup{margin-top:clamp(34px,3.6vw,52px)}
.lfv2-faqgroup:first-of-type{margin-top:clamp(28px,3vw,42px)}
.lfv2-faqgroup__title{font-size:clamp(23px,2.2vw,30px);margin-bottom:6px;scroll-margin-top:calc(var(--lfv2-header-h) + 20px)}
.lfv2-faqgroup .lfv2-faq__list{border-top:1px solid var(--lfv2-hairline);margin-top:14px}

@media (max-width:900px){
  .lfv2-contact,.lfv2-appt__grid,.lfv2-coverage{grid-template-columns:1fr}
  .lfv2-appt__aside{order:-1}
}

@media (max-width:640px){
  .lfv2-form__row{grid-template-columns:1fr;gap:0}
  .lfv2-contact__form,.lfv2-appt__form{padding:22px 18px}
  .lfv2-channels__val{font-size:19px}
  .lfv2-appt{min-height:0;flex-direction:column;align-items:stretch}
  .lfv2-appt__media{position:relative;inset:auto;z-index:0;flex:0 0 auto;width:100%;height:44vh;max-height:340px;min-height:260px}
  .lfv2-appt__veil{z-index:1;background:linear-gradient(to bottom,rgba(21,18,15,.42) 0%,rgba(21,18,15,.12) 32%,rgba(21,18,15,.74) 66%,rgba(21,18,15,.97) 88%,var(--lfv2-bg) 98%)}
  .lfv2-appt__in{position:relative;z-index:2;margin-top:-80px;padding-block:0 38px}
  .lfv2-appt__title{font-size:clamp(28px,7.6vw,34px);margin-bottom:16px}
  .lfv2-appt__copy .lfv2-btns{display:grid;gap:10px;margin-top:22px}
  .lfv2-appt__copy .lfv2-btn{width:100%}
  .lfv2-form button[type="submit"]{width:100%}
  .lfv2-terms__item{padding:22px 20px}
  .lfv2-list--cols{grid-template-columns:1fr;column-gap:0}
  .lfv2-list--cols li:nth-child(2){border-top:1px solid var(--lfv2-hairline)}
  .lfv2-zones{grid-template-columns:1fr 1fr;gap:12px}
  .lfv2-zones__item{padding:18px 16px}
  .lfv2-zones__price{font-size:26px}
  .lfv2-zones__extra .lfv2-service__row dt{min-width:0}
  .lfv2-svcnav__item{font-size:12px;padding:8px 13px}
  .lfv2-faqgroup__title{font-size:22px}
}

/* ============================================================
   GLOBAL POLISH PASS 1
   Corrections found in the sitewide design audit. No new components.
   ============================================================ */

/* The base reset gives every <button> font:inherit, which outranked .lfv2-btn
   and made real submit buttons 17px/54px while every anchor button was 14px/50px. */
.lfv2-root button.lfv2-btn{font-family:var(--lfv2-sans);font-size:14px;font-weight:600;line-height:1.65;letter-spacing:.02em}
.lfv2-root button.lfv2-btn--sm{font-size:13px}

/* Zelfde oorzaak, tweede symptoom: dezelfde reset geeft elke <button> ook
   background:none, border:0 en color:inherit. Die regel weegt (0,1,1) en
   verslaat .lfv2-btn--primary (0,1,0), waardoor de verzendknoppen op
   /v2-contact/ en /v2-afspraak/ als losse tekst renderden. Hieronder staan
   exact dezelfde waarden als in .lfv2-btn--primary en .lfv2-btn--primary:hover,
   alleen met genoeg gewicht om te winnen. Geen nieuwe knopstijl; padding,
   radius, font en de transform op hover blijven van de bestaande regels.
   Ankers met .lfv2-btn--primary raakt dit niet: de selector eist <button>. */
.lfv2-root button.lfv2-btn--primary{background:var(--lfv2-gold);border:1px solid var(--lfv2-gold);color:#15120F}
/* de bijbehorende :hover staat onderaan, achter (hover:hover) and (pointer:fine) */

/* Section junctions: a hero-like block with its own bottom padding followed by a
   full section top produced 150px+ gaps. These pairs now read as one rhythm. */
.lfv2-arch + .lfv2-section,
.lfv2-pdp + .lfv2-section,
.lfv2-brandhero + .lfv2-section,
.lfv2-edhero + .lfv2-section{padding-top:clamp(36px,3.6vw,54px)}

/* Touch targets: inline text links sat at 18-22px on mobile. Same look, bigger hit area. */
@media (max-width:900px){
  .lfv2-footer li a,
  .lfv2-footer__bar nav a,
  .lfv2-crumbs a,
  .lfv2-footer address a,
  .lfv2-service__links a,
  .lfv2-drawer__meta a{display:inline-block;padding-block:5px}
  .lfv2-card__cta,
  .lfv2-final__wa{padding-block:6px}
  .lfv2-link{padding-bottom:8px}
}

/* ---------- MOBILE POLISH CORRECTIE 1 ---------- */

/* 1. Header-contrast: veil reikte tot exact de headerhoogte (66px), waardoor
   WERKENDAM en de hamburger in het uitgefadede deel stonden. Verlengd en
   verzacht op mobiel + tablet. Verdwijnt zodra de header sticky wordt of
   de drawer open staat. */
@media (max-width:900px){
  .lfv2-root:has(.lfv2-hero) .lfv2-header::before{
    bottom:auto;
    height:clamp(150px,34vw,190px);
    background:linear-gradient(to bottom,
      rgba(15,12,10,.76) 0%,
      rgba(15,12,10,.72) 30%,
      rgba(15,12,10,.40) 55%,
      rgba(15,12,10,.14) 78%,
      rgba(15,12,10,0) 100%);
  }
  .lfv2-locked.lfv2-root:has(.lfv2-hero) .lfv2-header::before{opacity:0}
}

/* 2. Merken-marquee: .lfv2-root p{margin:0} overrulede de 26px onder het
   label, dus label en merkregel stonden tegen elkaar met alle lucht
   eronder. Alleen mobiel hergroepeerd tot een compact blok. */
@media (max-width:640px){
  .lfv2-brands{padding-block:26px 20px}
  .lfv2-root .lfv2-brands__label{margin-bottom:11px}
  .lfv2-brands + .lfv2-section{padding-top:32px}
}

/* <picture> is alleen een bronwrapper en mag de layout niet beinvloeden. */
.lfv2-root picture{display:contents}

/* ---------- juridische pagina's: rustig, leesbaar, bestaande tokens ---------- */
.lfv2-legalhero{padding-block:calc(var(--lfv2-header-h) + clamp(34px,4vw,56px)) clamp(26px,3vw,38px);border-bottom:1px solid var(--lfv2-hairline)}
.lfv2-legalhero__in{max-width:760px}
.lfv2-legalhero__title{font-size:clamp(32px,4.2vw,54px);line-height:1.06;letter-spacing:-.012em;margin-bottom:16px}
.lfv2-legalhero__lead{font-size:16.5px;line-height:1.75;color:var(--lfv2-muted);max-width:62ch;margin-bottom:18px}
.lfv2-legalhero__meta{font-family:var(--lfv2-sans);font-size:12.5px;letter-spacing:.02em;color:var(--lfv2-muted)}
.lfv2-legalhero__meta a{color:var(--lfv2-gold);transition:color .3s var(--lfv2-ease)}
.lfv2-legalhero__meta a:hover{color:var(--lfv2-gold-light)}

.lfv2-legal{padding-block:clamp(34px,3.6vw,54px) clamp(48px,4.6vw,72px)}
.lfv2-legal__in{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(30px,4vw,64px);align-items:start}

.lfv2-legal__toc{position:sticky;top:calc(var(--lfv2-header-h) + 22px)}
.lfv2-legal__toctitle{font-family:var(--lfv2-sans);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--lfv2-gold);margin-bottom:14px}
.lfv2-legal__toc ol{list-style:none;counter-reset:lfv2toc;margin:0;padding:0}
.lfv2-legal__toc li{counter-increment:lfv2toc;margin-bottom:2px}
.lfv2-legal__toc a{display:block;padding:5px 0;font-family:var(--lfv2-sans);font-size:13.5px;line-height:1.45;color:var(--lfv2-muted);transition:color .3s var(--lfv2-ease)}
.lfv2-legal__toc a:hover{color:var(--lfv2-text)}

.lfv2-legal__body{max-width:70ch}
.lfv2-legal__sec{scroll-margin-top:calc(var(--lfv2-header-h) + 20px);padding-top:6px}
.lfv2-legal__sec + .lfv2-legal__sec{margin-top:clamp(30px,3vw,44px)}
.lfv2-legal__h2{display:flex;gap:12px;align-items:baseline;font-size:clamp(20px,2.1vw,26px);line-height:1.25;margin-bottom:14px}
.lfv2-legal__num{font-family:var(--lfv2-sans);font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--lfv2-gold);flex:0 0 auto;transform:translateY(-2px)}
.lfv2-legal__body p{font-size:15.5px;line-height:1.78;color:var(--lfv2-muted);margin-bottom:14px}
.lfv2-legal__body p:last-child{margin-bottom:0}
.lfv2-legal__body strong{color:var(--lfv2-text);font-weight:600}
.lfv2-legal__body em{color:var(--lfv2-text);font-style:italic}
.lfv2-legal__body a{color:var(--lfv2-gold);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color .3s var(--lfv2-ease)}
.lfv2-legal__body a:hover{color:var(--lfv2-gold-light)}
.lfv2-legal__body ul{list-style:none;margin:0 0 16px;padding:0}
.lfv2-legal__body ul li{position:relative;padding-left:18px;font-size:15.5px;line-height:1.7;color:var(--lfv2-muted);margin-bottom:8px}
.lfv2-legal__body ul li::before{content:'';position:absolute;left:0;top:11px;width:6px;height:1px;background:var(--lfv2-gold);opacity:.75}

.lfv2-legal__data{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 20px;margin:0 0 4px;font-size:15px;line-height:1.7}
.lfv2-legal__data dt{font-family:var(--lfv2-sans);font-size:12.5px;font-weight:600;letter-spacing:.04em;color:var(--lfv2-text);padding-top:2px}
.lfv2-legal__data dd{margin:0;color:var(--lfv2-muted)}

.lfv2-legal__note{margin-top:clamp(30px,3vw,44px);padding-top:22px;border-top:1px solid var(--lfv2-hairline)}
.lfv2-legal .lfv2-btns{margin-top:26px}

@media (max-width:900px){
  .lfv2-legal__in{grid-template-columns:1fr;gap:26px}
  .lfv2-legal__toc{position:static;padding-bottom:20px;border-bottom:1px solid var(--lfv2-hairline)}
  .lfv2-legal__toc ol{columns:2;column-gap:22px}
  .lfv2-legal__body{max-width:none}
}
@media (max-width:640px){
  .lfv2-legalhero__title{font-size:clamp(28px,7.4vw,34px)}
  .lfv2-legalhero__lead{font-size:15.5px}
  .lfv2-legal__toc ol{columns:1}
  .lfv2-legal__h2{font-size:19px;gap:10px}
  .lfv2-legal__data{grid-template-columns:1fr;gap:2px 0}
  .lfv2-legal__data dd{margin-bottom:8px}
}

/* ================= MOBILE + MOTION POLISH PASS ================= */

/* 1. Hero: .lfv2-root p{margin:0} (0,1,1) overrulede de bedoelde marge onder de
   lead, waardoor de CTA's er met 0px tegenaan stonden. */
.lfv2-root .lfv2-hero__lead{margin-bottom:34px}
@media (max-width:640px){ .lfv2-root .lfv2-hero__lead{margin-bottom:30px} }

/* 2. Productkaart: actuele prijs een gewichtsstap zwaarder. */
.lfv2-card__price-now{font-weight:500}

/* 3. Kwaliteitslijst: mobiel drie items, de rest achter een rustige control. */
.lfv2-more{display:none}
@media (max-width:640px){
  .lfv2-deflist.is-collapsible .lfv2-deflist__row[data-hidden]{display:none}
  .lfv2-deflist.is-collapsible.is-open .lfv2-deflist__row[data-hidden]{display:grid;animation:lfv2-fadein .32s var(--lfv2-ease) both}
  .lfv2-more{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:9px 0;
    background:none;border:0;cursor:pointer;
    font-family:var(--lfv2-sans);font-size:12.5px;font-weight:600;letter-spacing:.14em;
    text-transform:uppercase;color:var(--lfv2-gold);transition:color .3s var(--lfv2-ease)}
  .lfv2-more:hover{color:var(--lfv2-gold-light)}
  .lfv2-more:focus-visible{outline:1px solid var(--lfv2-gold);outline-offset:4px}
  .lfv2-more__chev{width:9px;height:9px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;
    transform:rotate(45deg) translate(-2px,-2px);transition:transform .32s var(--lfv2-ease)}
  .lfv2-more[aria-expanded="true"] .lfv2-more__chev{transform:rotate(-135deg) translate(-2px,-2px)}
}
@keyframes lfv2-fadein{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* 4. Werkwijze: native ol-nummers weg, doorlopende lijn die met de scroll vult. */
.lfv2-steps{list-style:none;padding-left:0;position:relative;--lfv2-steps-progress:0}
.lfv2-steps::before,.lfv2-steps::after{content:"";position:absolute;left:16px;top:38px;width:2px;border-radius:2px}
/* Rail neutraal en donker: hij mag niet als "ook goud" lezen, anders is er geen
   verschil te zien tussen gevuld en ongevuld. */
.lfv2-steps::before{bottom:20px;background:rgba(8,10,7,.62)}
/* Verloop omgekeerd: het sterkste champagne zit nu bij de groeiende punt,
   precies waar het oog de beweging zoekt. */
.lfv2-steps::after{height:calc(max(0px, 100% - 58px) * var(--lfv2-steps-progress));
  background:linear-gradient(to bottom,rgba(205,164,104,.55) 0%,rgba(215,179,124,.8) 55%,rgba(225,194,143,.95) 100%);
  transition:height .28s linear}
.lfv2-steps li::after{display:none}
.lfv2-steps li::before{background-color:var(--lfv2-bg);box-shadow:inset 0 0 0 20px rgba(205,164,104,0);transform-origin:50% 50%;
  transition:border-color .5s var(--lfv2-ease),color .5s var(--lfv2-ease),box-shadow .5s var(--lfv2-ease),transform .5s var(--lfv2-ease)}
.lfv2-steps li.is-done::before{border-color:rgba(205,164,104,.5)}
.lfv2-steps li.is-on::before{border-color:rgba(225,194,143,.92);color:#F2E3C9;transform:scale(1.02);
  box-shadow:inset 0 0 0 20px rgba(205,164,104,.14)}
html:not(.lfv2-no-js) .lfv2-steps li{opacity:.55;transform:translateY(12px);transition:opacity .6s var(--lfv2-ease),transform .6s var(--lfv2-ease)}
html:not(.lfv2-no-js) .lfv2-steps li.is-on,html:not(.lfv2-no-js) .lfv2-steps li.is-done{opacity:1;transform:none}
/* 16px = hart van de 34px-cirkel (die op mobiel even groot blijft); de oude 14px
   stond 3px uit het midden, wat bij een lijn van 2px zichtbaar zou worden. */
@media (max-width:640px){ .lfv2-steps::before,.lfv2-steps::after{left:16px} }

/* 5. Lifestyle- en editorialbeeld: licht dat openvalt.
      Alleen het IMG aanpassen is aantoonbaar onvoldoende — de bestaande donkere
      sluier ligt eroverheen en maskeert het effect bijna volledig. Daarom krijgt
      die sluier er vóór de reveal een tweede, koel-donkere laag bij, die daarna
      terugtrekt. De EINDTOESTAND is exact gelijk aan het goedgekeurde ontwerp;
      het verschil zit volledig in de aanloop.
      De transition-delay op [data-delay="1"] is verwijderd: de twee beelden
      triggeren honderden pixels scrollafstand uit elkaar, dus die delay deed niets. */
html:not(.lfv2-no-js) .lfv2-edreveal img{
  opacity:.92;transform:scale(1.025);filter:brightness(.84) saturate(.9);
  transition:opacity 1s var(--lfv2-ease),transform 1.15s var(--lfv2-ease),filter 1s var(--lfv2-ease)}
html:not(.lfv2-no-js) .lfv2-edreveal.is-in img{opacity:1;transform:none;filter:none}

html:not(.lfv2-no-js) .lfv2-cook__veil::after,
html:not(.lfv2-no-js) .lfv2-divider__veil::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 50% 46%,rgba(8,10,13,.40) 0%,rgba(8,10,13,.64) 100%);
  opacity:1;transition:opacity 1.05s var(--lfv2-ease)}
html:not(.lfv2-no-js) .lfv2-edreveal.is-in ~ .lfv2-cook__veil::after,
html:not(.lfv2-no-js) .lfv2-edreveal.is-in ~ .lfv2-divider__veil::after{opacity:0}

@media (max-width:640px){
  html:not(.lfv2-no-js) .lfv2-edreveal img{transform:scale(1.022);
    transition:opacity .95s var(--lfv2-ease),transform 1.1s var(--lfv2-ease),filter .95s var(--lfv2-ease)}
  html:not(.lfv2-no-js) .lfv2-cook__veil::after,
  html:not(.lfv2-no-js) .lfv2-divider__veil::after{transition-duration:1s}
}

@media (prefers-reduced-motion:reduce){
  .lfv2-deflist.is-collapsible.is-open .lfv2-deflist__row[data-hidden]{animation:none}
  .lfv2-steps::after{transition:none;height:calc(max(0px, 100% - 58px))}
  html:not(.lfv2-no-js) .lfv2-steps li{opacity:1;transform:none;transition:none}
  html:not(.lfv2-no-js) .lfv2-edreveal img{opacity:1;transform:none;filter:none;transition:none}
  html:not(.lfv2-no-js) .lfv2-cook__veil::after,
  html:not(.lfv2-no-js) .lfv2-divider__veil::after{opacity:0;transition:none}
}


/* ============================================================
   OWNER WOW FINAL PASS
   1. Hero finishing  2. Vind uw fornuis  3. Premium product hover
   Geen nieuwe kleuren, fonts, radii of easing: alles komt uit het
   bestaande design system.
   ============================================================ */

/* ---------- 1. HERO FINISHING ----------
   Een zeer trage ademhaling op het heldbeeld. Compositor-only: alleen
   transform, geen layout, geen JS-frame per scroll. Met alternate is er
   geen zichtbare reset — de beweging keert rustig om.
   Desktop circa 2,8 px per seconde bij 1280 breed; dat is onder de
   drempel waarop het als animatie opvalt, maar het beeld staat nooit stil. */
@keyframes lfv2-hero-adem{
  from{transform:scale(1) translate3d(0,0,0)}
  to{transform:scale(1.028) translate3d(0,-5px,0)}
}
/* Mobiel zonder translate: de crop is daar veel krapper en verticale
   beweging zou de compositie onrustig maken. */
@keyframes lfv2-hero-adem-mobiel{
  from{transform:scale(1)}
  to{transform:scale(1.018)}
}
.lfv2-hero__media img{
  animation:lfv2-hero-adem 13s ease-in-out infinite alternate both;
  will-change:transform;backface-visibility:hidden;
}
/* Uit beeld = geen werk voor de compositor. */
.lfv2-hero__media.is-paused img{animation-play-state:paused}
@media (max-width:640px){
  .lfv2-hero__media img{animation-name:lfv2-hero-adem-mobiel;animation-duration:16s}
}

/* ---------- 2. VIND UW FORNUIS ---------- */
.lfv2-finder__panel{
  max-width:1040px;margin-inline:auto;
  background:rgba(21,18,15,.42);
  border:1px solid var(--lfv2-border-soft);border-radius:var(--lfv2-radius);
  padding:clamp(24px,2.6vw,38px);
}
.lfv2-finder__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,2.4vw,34px)}
.lfv2-finder__group{border:0;padding:0;margin:0;min-width:0}
.lfv2-finder__legend{
  padding:0;margin-bottom:14px;
  font-family:var(--lfv2-sans);font-size:11px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--lfv2-gold);
}
.lfv2-finder__chips{display:flex;flex-wrap:wrap;gap:8px}
.lfv2-fchip{position:relative;display:inline-flex}
.lfv2-fchip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.lfv2-fchip span{
  display:inline-flex;align-items:center;min-height:40px;padding:9px 16px;
  border:1px solid var(--lfv2-hairline);border-radius:100px;
  font-size:13px;letter-spacing:.01em;color:var(--lfv2-muted);
  transition:border-color .2s var(--lfv2-ease),color .2s var(--lfv2-ease),background-color .2s var(--lfv2-ease);
}
.lfv2-fchip input:checked + span{background:rgba(205,164,104,.12);border-color:var(--lfv2-gold);color:var(--lfv2-gold-light)}
.lfv2-fchip input:focus-visible + span{outline:2px solid var(--lfv2-gold-light);outline-offset:3px}
.lfv2-finder__foot{
  margin-top:clamp(24px,2.4vw,32px);padding-top:20px;border-top:1px solid var(--lfv2-hairline);
  display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
}
.lfv2-finder__count{font-size:13.5px;color:var(--lfv2-muted)}
.lfv2-finder__cta svg{width:14px;height:14px;transition:transform .3s var(--lfv2-ease)}
/* .lfv2-root button{background:none;border:0} weegt (0,1,1) en verslaat
   .lfv2-btn--primary (0,1,0). Deze regel weegt (0,2,1) en zet de
   primaire knopkleuren terug voor dit ene knopje. */
.lfv2-root button.lfv2-finder__cta{background:var(--lfv2-gold);border:1px solid var(--lfv2-gold);color:#15120F}
@media (hover:hover) and (pointer:fine){
  .lfv2-fchip:hover input:not(:checked) + span{border-color:var(--lfv2-border);color:var(--lfv2-text)}
  .lfv2-root button.lfv2-finder__cta:hover{background:var(--lfv2-gold-light);border-color:var(--lfv2-gold-light)}
  .lfv2-finder__cta:hover svg{transform:translateX(3px)}
}
@media (max-width:900px){
  .lfv2-finder__grid{grid-template-columns:1fr;gap:22px}
  .lfv2-fchip span{min-height:44px;padding:11px 17px;font-size:13.5px}
  .lfv2-finder__foot{flex-direction:column;align-items:stretch;gap:15px}
  .lfv2-finder__count{order:-1;text-align:center}
  .lfv2-finder__cta{width:100%}
}

/* ---------- 3. PREMIUM PRODUCT HOVER ----------
   Touch eerst neutraliseren: de bestaande :hover-regels blijven anders na
   een tap hangen (first-tap-hover). De kaart hoort op een telefoon stil te staan. */
@media (hover:none),(pointer:coarse){
  .lfv2-card:hover{transform:none;border-color:var(--lfv2-border-soft);background:var(--lfv2-card)}
  .lfv2-card:hover .lfv2-card__media img{transform:none;filter:none}
  .lfv2-card:hover .lfv2-card__title a{color:inherit}
  .lfv2-card:hover .lfv2-card__cta{gap:7px;color:var(--lfv2-gold)}
}
/* Fijne pointer: hover en toetsenbordfocus krijgen exact dezelfde feedback. */
@media (hover:hover) and (pointer:fine){
  .lfv2-card__media img{transition:transform .45s var(--lfv2-ease),filter .45s var(--lfv2-ease)}
  .lfv2-card:focus-within{transform:translateY(-4px);background:var(--lfv2-elev)}
  .lfv2-card:hover,
  .lfv2-card:focus-within{border-color:rgba(205,164,104,.5)}
  .lfv2-card:hover .lfv2-card__media img,
  .lfv2-card:focus-within .lfv2-card__media img{transform:scale(1.03);filter:brightness(1.06) saturate(1.04)}
  .lfv2-card:focus-within .lfv2-card__title a{color:var(--lfv2-gold-light)}
  .lfv2-card:hover .lfv2-card__cta,
  .lfv2-card:focus-within .lfv2-card__cta{gap:13px;color:var(--lfv2-gold-light)}
}
/* Geen tweede beeld bij hover: alle gepubliceerde fornuizen delen dezelfde
   galerij-afbeeldingen, dus een crossfade zou een ander product suggereren. */

/* ---------- reduced motion voor deze drie ---------- */
@media (prefers-reduced-motion:reduce){
  .lfv2-hero__media img{animation:none;transform:none}
  .lfv2-card__media img{transition:none}
  .lfv2-card:hover,.lfv2-card:focus-within{transform:none}
  .lfv2-card:hover .lfv2-card__media img,
  .lfv2-card:focus-within .lfv2-card__media img{transform:none}
  .lfv2-finder__cta svg,.lfv2-finder__cta:hover svg{transform:none}
  .lfv2-fchip span{transition:none}
}


/* ============================================================
   BUTTON CONSISTENCY MICROFIX
   Drie bestaande inconsistenties, geen nieuwe knopstijl.
   Alle waarden komen uit het bestaande design system.
   ============================================================ */

/* A. Primaire ANKER-knoppen erfden lichte tekst.
      .lfv2-root a{color:inherit} weegt (0,1,1) en verslaat
      .lfv2-btn--primary{color:#15120F} (0,1,0), waardoor alle gouden
      ankerknoppen #F5EFE7 op #CDA468 toonden: contrast 2,02:1.
      Deze regel weegt (0,2,1) en zet de bedoelde kleur terug: 8,09:1.
      Alleen color; achtergrond, rand, padding, radius en font blijven
      van de bestaande regels komen. */
.lfv2-root a.lfv2-btn--primary{color:#15120F}

/* B. De primary-hover stond nergens achter een pointer-conditie, waardoor
      hij op touch na een tap bleef hangen. Beide varianten staan nu hier,
      met exact dezelfde waarden als voorheen. De button-variant is apart
      nodig omdat .lfv2-root button.lfv2-btn--primary (0,2,1) anders zwaarder
      weegt dan .lfv2-btn--primary:hover (0,2,0). Op coarse pointers bestaan
      deze regels simpelweg niet, dus blijft de knop in zijn rusttoestand. */
@media (hover:hover) and (pointer:fine){
  .lfv2-btn--primary:hover{background:var(--lfv2-gold-light);border-color:var(--lfv2-gold-light);transform:translateY(-2px)}
  .lfv2-root button.lfv2-btn--primary:hover{background:var(--lfv2-gold-light);border-color:var(--lfv2-gold-light)}
  /* Finale QA: dezelfde sticky-hover als bij primary. Regel ongewijzigd verplaatst. */
  .lfv2-btn--ghost:hover{border-color:var(--lfv2-gold);color:var(--lfv2-gold-light);transform:translateY(-2px)}
}

/* C. .lfv2-root :focus-visible (0,2,0) zet border-radius:3px op elk focusbaar
      element en trok knoppen dus van 8px naar 3px. Deze uitzondering weegt
      (0,3,0) en herstelt alleen de radius voor knoppen. De outline en de
      outline-offset blijven van de globale focusregel komen, zodat de
      zichtbare focus voor alle andere controls ongewijzigd blijft. */
.lfv2-root .lfv2-btn:focus-visible{border-radius:8px}


/* ============================================================
   BATCH 1 - HERO CROSSFADE + KLEUR EN AFWERKING
   Alle waarden komen uit het bestaande design system.
   ============================================================ */

/* Hero: drie beelden over elkaar, alleen opacity beweegt. Geen zoom en geen
   slide-in, zodat de rust van de compositie blijft staan. De eerste slide blijft
   altijd zichtbaar als onderlaag, zodat er tijdens een overgang nooit door de
   stapel heen naar de achtergrond wordt gekeken. */
.lfv2-heroslide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s var(--lfv2-ease)}
.lfv2-heroslide:first-child{opacity:1}
.lfv2-heroslide.is-active{opacity:1}
.lfv2-heroslide picture{display:contents}

@media (prefers-reduced-motion:reduce){
  .lfv2-heroslide{transition:none}
  .lfv2-heroslide:not(:first-child){opacity:0}
}

/* Merkenband: dezelfde marquee, nu met een uitgang naar de merkenpagina.
   .lfv2-root p{margin:0} weegt (0,1,1), dus deze regels hebben de root-prefix
   nodig om hun marge te mogen zetten. */
.lfv2-root .lfv2-brands__more{text-align:center;margin-top:20px}

/* Kleur en afwerking. De drie studiobeelden staan op wit; ze krijgen daarom een
   eigen lichte drager binnen de donkere sectie, in plaats van dat de hele sectie
   licht wordt en de donkere lijn van de pagina breekt. */
.lfv2-finishes__grid{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.lfv2-finishes__media{background:#F2EFE9;border:1px solid var(--lfv2-border);border-radius:var(--lfv2-radius);overflow:hidden;aspect-ratio:5/4;display:flex;align-items:center;justify-content:center}
.lfv2-finishes__media img{width:100%;height:100%;object-fit:contain}
.lfv2-finishes__media picture{display:contents}
.lfv2-root .lfv2-finishes__name{font-family:var(--lfv2-serif);font-size:1.12rem;line-height:1.3;color:var(--lfv2-text);margin-top:18px}
.lfv2-root .lfv2-finishes__note{color:var(--lfv2-muted);font-size:.92rem;line-height:1.55;margin-top:7px;max-width:34ch}
.lfv2-root .lfv2-finishes__cta{text-align:center;margin-top:38px}

@media (max-width:760px){
  .lfv2-finishes__grid{grid-template-columns:1fr;gap:28px;margin-top:34px}
  .lfv2-root .lfv2-finishes__note{max-width:none}
}
/* De merkenband bevat nu 16 namen in plaats van 9, waardoor dezelfde 52s over
   een bijna twee keer zo lange baan liep en de band merkbaar sneller ging.
   90s zet de oorspronkelijke loopsnelheid (circa 20px/s) terug. Alleen de duur;
   naam, timing en de reduced-motion-uitzondering blijven ongemoeid. */
.lfv2-marquee__track{animation-duration:90s}


/* ============================================================
   BATCH 2 - FILTERCHIPS EN MERKENLIJST
   ============================================================ */

/* Een chip die in combinatie met de huidige selectie niets oplevert blijft staan,
   maar is geen link. Zo blijft de volledige reeks van een facet zichtbaar en
   springt de kolom niet bij iedere keuze. De hover-regel moet apart worden
   uitgezet: .lfv2-chip:hover weegt (0,2,0) en zou anders ook op deze span slaan. */
.lfv2-chip.is-unavailable{opacity:.34;cursor:default;border-color:var(--lfv2-hairline);color:var(--lfv2-muted)}
.lfv2-chip.is-unavailable:hover{opacity:.34;border-color:var(--lfv2-hairline);color:var(--lfv2-muted)}

/* Merknaam op een productkaart is nu een link naar de merkpagina. Alleen een
   hover-accent; kleur, grootte en letterafstand blijven van de bestaande regel. */
@media (hover:hover) and (pointer:fine){
  .lfv2-root .lfv2-card__brand a:hover{color:var(--lfv2-gold-light)}
}

/* De merken zonder eigen pagina. Bewust geen links en geen kaders die op knoppen
   lijken: het zijn namen, geen beloftes over voorraad. */
/* Geen scheidingslijnen: bij een flex-wrap staat er dan aan het eind van elke
   afgebroken regel een losse streep. Ruime witruimte scheidt de namen net zo
   duidelijk en heeft die randgevallen niet. */
.lfv2-merkenlijst{list-style:none;margin:32px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:13px 34px}
.lfv2-merkenlijst li{font-family:var(--lfv2-serif);font-size:1.02rem;line-height:1.2;color:var(--lfv2-text)}
.lfv2-root .lfv2-merkenlijst__foot{margin-top:30px}

@media (max-width:760px){
  .lfv2-merkenlijst{gap:12px 22px;margin-top:26px}
  .lfv2-merkenlijst li{font-size:.96rem}
}

/* ============================================================
   BATCH 3 - PRODUCTPAGINA
   ============================================================ */

/* Melding onder de galerij wanneer de foto's voorbeeldbeelden zijn. Rustig en
   feitelijk: een dunne streep en gedempte tekst, geen waarschuwingskleur.
   .lfv2-root p{margin:0} weegt (0,1,1), vandaar de root-prefix. */
.lfv2-root .lfv2-gal__note{
  margin-top:14px;font-size:.85rem;line-height:1.5;color:var(--lfv2-muted);
  padding-left:14px;border-left:1px solid var(--lfv2-hairline)}

/* De merknaam boven de producttitel is nu een link naar de merkpagina.
   Alleen een hover-accent; letter, grootte en spatiëring blijven van .lfv2-eyebrow. */
@media (hover:hover) and (pointer:fine){
  .lfv2-root .lfv2-pdp__brand a:hover{color:var(--lfv2-gold-light)}
}

/* Leveringstarieven: compacte tweekoloms lijst zonder tabelchroom. */
.lfv2-tarieven{list-style:none;margin:15px 0 0;padding:0}
.lfv2-tarieven li{
  display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding:7px 0;border-bottom:1px solid var(--lfv2-hairline);
  font-size:.9rem;line-height:1.4;color:var(--lfv2-muted)}
.lfv2-tarieven li:last-child{border-bottom:0}
.lfv2-tarieven li span:last-child{color:var(--lfv2-text);white-space:nowrap}
.lfv2-root .lfv2-assure__note{margin-top:13px;font-size:.82rem;line-height:1.55;color:var(--lfv2-muted)}

/* ============================================================
   BATCH 3 - BUGFIX: lege ruimte in het conditieblok op mobiel

   .lfv2-pdp__box .lfv2-service__row dt krijgt flex:0 0 116px voor de
   tweekolomsopmaak op desktop. Onder 640px wordt diezelfde rij een kolom
   (flex-direction:column), en dan geldt die 116px niet meer voor de BREEDTE
   maar voor de HOOGTE van het label. Gemeten: label 116px hoog in plaats van
   circa 14px, rijhoogte 190px in plaats van circa 75px. Drie rijen - conditie,
   gebruikssporen en meegeleverd - leverden zo ruim 300px lege ruimte op elke
   productpagina op mobiel.

   De basis wordt hier alleen in dezelfde breakpoint teruggezet naar auto.
   Breedte, uitlijning, marges en de desktopopmaak blijven ongemoeid.
   ============================================================ */
@media (max-width:640px){
  .lfv2-pdp__box .lfv2-service__row dt{flex:0 0 auto}
}


/* ============================================================
   BATCH 4 - EXTERNE KANALEN IN DE FOOTER
   Het blok verschijnt pas wanneer lfv2_kanalen() gevulde regels
   teruggeeft; zolang die lijst leeg is staat er niets in de opmaak.
   ============================================================ */
.lfv2-root .lfv2-footer__kanalen{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.86rem}
.lfv2-footer__kanalen a{color:var(--lfv2-muted);border-bottom:1px solid transparent;padding-bottom:1px}
@media (hover:hover) and (pointer:fine){
  .lfv2-footer__kanalen a:hover{color:var(--lfv2-gold-light);border-bottom-color:var(--lfv2-gold)}
}
/* Op de garantiepagina staan sinds Batch 4 twee opmerkingen onder elkaar. Beide
   erven margin:0 van .lfv2-root p (0,1,1), waardoor ze als een doorlopende alinea
   lazen. Deze regel weegt (0,3,0) en zet alleen tussen twee opeenvolgende
   opmerkingen ruimte; een losse opmerking blijft precies zoals hij was. */
.lfv2-root .lfv2-coverage__note + .lfv2-coverage__note{margin-top:14px}


/* ============================================================
   BATCH 4B - VOORBEELDREVIEWS
   Tijdelijk blok. Het label Voorbeeldreview is bewust goed leesbaar
   en niet weggemoffeld: het moet duidelijk zijn dat dit geen echte
   klantreviews zijn. Alle waarden komen uit het bestaande design system.
   ============================================================ */
.lfv2-reviews__grid{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.lfv2-reviews__item{
  background:var(--lfv2-card);border:1px solid var(--lfv2-border-soft);
  border-radius:var(--lfv2-radius);padding:26px 26px 24px;display:flex;flex-direction:column}
.lfv2-root .lfv2-reviews__badge{
  align-self:flex-start;font-size:10.5px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  color:var(--lfv2-muted);border:1px solid var(--lfv2-hairline);border-radius:3px;padding:3px 8px}
.lfv2-root .lfv2-reviews__stars{margin-top:18px;color:var(--lfv2-gold);letter-spacing:.18em;font-size:14px;line-height:1}
.lfv2-reviews__quote{
  margin:14px 0 0;padding:0;border:0;font-family:var(--lfv2-serif);font-size:1.06rem;line-height:1.55;
  color:var(--lfv2-text)}
.lfv2-root .lfv2-reviews__naam{margin-top:auto;padding-top:18px;font-size:.86rem;color:var(--lfv2-muted)}

@media (max-width:900px){
  .lfv2-reviews__grid{grid-template-columns:1fr;gap:16px;margin-top:34px}
  .lfv2-reviews__item{padding:22px 22px 20px}
}
/* Het samengevoegde kwaliteit-en-vakmanschapblok zet de drie feiten onder het
   processchema. .lfv2-root p{margin:0} weegt (0,1,1), dus deze regel heeft de
   root-prefix nodig om zijn ruimte te mogen zetten. */
.lfv2-root .lfv2-craft__facts{margin-top:30px}


/* ============================================================
   FORMULIERVERZENDING
   ============================================================ */

/* Honeypot. Niet display:none, want sommige bots slaan onzichtbare velden over;
   dit haalt het veld uit beeld zonder het uit de opmaak te halen. */
.lfv2-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

/* Statusmelding na verzending, boven het formulier. */
.lfv2-root .lfv2-formstatus{
  margin-bottom:22px;padding:14px 16px;border-radius:var(--lfv2-radius);
  font-size:.94rem;line-height:1.55;border:1px solid var(--lfv2-hairline)}
.lfv2-root .lfv2-formstatus.is-ok{border-color:var(--lfv2-gold);background:rgba(205,164,104,.10);color:var(--lfv2-text)}
.lfv2-root .lfv2-formstatus.is-fout{border-color:var(--lfv2-border);background:var(--lfv2-card);color:var(--lfv2-text)}

/* ================= HERO RUST-PASS =================
   Minder tekst, grotere typografie, meer beeld. Uitsluitend hero-selectors;
   .lfv2-hero bestaat alleen op de homepage. Geen globale typografie, geen
   andere secties. Terugdraaien = dit blok verwijderen. */
.lfv2-root .lfv2-hero{min-height:clamp(640px,82vh,780px)}
.lfv2-root .lfv2-hero__copy{max-width:min(780px,88%)}
.lfv2-root .lfv2-hero__title{
  font-size:clamp(46px,5.9vw,88px);line-height:1.04;letter-spacing:-.004em;
  color:var(--lfv2-text);margin:0 0 24px;
}
.lfv2-root .lfv2-hero__title span{display:block;color:inherit}
.lfv2-root .lfv2-hero__sub{
  font-family:var(--lfv2-sans);font-size:16px;line-height:1.6;letter-spacing:.012em;
  color:rgba(245,239,231,.86);margin:0 0 36px;max-width:40ch;
}
.lfv2-root .lfv2-hero .lfv2-btns{margin-bottom:0;gap:14px}
.lfv2-root .lfv2-hero .lfv2-btn--ghost{border-color:rgba(245,239,231,.26);background:rgba(21,18,15,.22)}
/* Iets stabieler contrast onder de kop; geen zichtbaar donker vlak. */
.lfv2-root .lfv2-hero__veil{
  background:
    linear-gradient(100deg,rgba(21,18,15,.87) 0%,rgba(21,18,15,.68) 42%,rgba(21,18,15,.27) 70%,rgba(21,18,15,0) 88%),
    linear-gradient(to top,rgba(21,18,15,.78),rgba(21,18,15,0) 48%);
}
@media (max-width:900px){
  .lfv2-root .lfv2-hero{min-height:560px}
  .lfv2-root .lfv2-hero__veil{
    background:
      linear-gradient(104deg,rgba(21,18,15,.92) 0%,rgba(21,18,15,.76) 46%,rgba(21,18,15,.42) 74%,rgba(21,18,15,.16) 100%),
      linear-gradient(to top,rgba(21,18,15,.84),rgba(21,18,15,0) 54%);
  }
}
@media (max-width:640px){
  .lfv2-root .lfv2-hero{min-height:0}
  .lfv2-root .lfv2-hero__media{height:66vh;max-height:560px;min-height:400px}
  .lfv2-root .lfv2-hero__veil{
    background:linear-gradient(to bottom,rgba(21,18,15,.44) 0%,rgba(21,18,15,.10) 28%,rgba(21,18,15,.70) 56%,rgba(21,18,15,.99) 78%,var(--lfv2-bg) 88%);
  }
  .lfv2-root .lfv2-hero__in{margin-top:-68px;padding-block:0 44px}
  .lfv2-root .lfv2-hero__copy{max-width:100%}
  .lfv2-root .lfv2-hero__title{font-size:clamp(34px,9.4vw,44px);line-height:1.08;margin-bottom:16px}
  .lfv2-root .lfv2-hero__sub{font-size:15px;margin-bottom:28px;max-width:none}
  .lfv2-root .lfv2-hero .lfv2-btns{display:grid;gap:11px}
  .lfv2-root .lfv2-hero .lfv2-btn{width:100%;padding:15px 22px}
}


/* ============================================================
   REVIEWBADGE VERWIJDERD - LOKALE SPATIECORRECTIE
   De per-kaart badge Voorbeeldreview is uit de markup gehaald; de melding
   dat dit voorbeeldteksten zijn staat nog boven het blok. Zonder de badge
   werd .lfv2-reviews__stars het eerste kind van de kaart, waardoor zijn
   margin-top van 18px bovenop de padding van de kaart kwam. Deze regel
   grijpt uitsluitend in wanneer de sterren daadwerkelijk eerst staan, dus
   zij herstelt zichzelf als de badge ooit terugkomt. Geen andere waarden.
   ============================================================ */
.lfv2-root .lfv2-reviews__item > .lfv2-reviews__stars:first-child{margin-top:0}
