
  :root{--onyx:#0A0A0A;--velvet:#15100F;--surface:#1C1514;--surface-2:#241A19;--line:#3A2A2A;--line-2:#4A3636;--crimson:#FF1E3C;--crimson-glow:#FF3552;--ruby:#B30F26;--ruby-deep:#7A0A1B;--blush:#E7C6C9;--champagne:#D8B27A;--ivory:#F5EFEC;--smoke:#C4B7B4;--mute:#9C8E8B;--ok:#2FB36B;
    /* uitsnede van profielfoto's: net boven het midden (bij staande foto's meestal gezicht en bovenlijf) */
    --foto-uitsnede:center 35%;}
  *{margin:0;padding:0;box-sizing:border-box;}
  /* ---- design polish, sitewide ---- */
  html{color-scheme:dark;}
  ::selection{background:var(--crimson);color:#fff;}
  a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--crimson-glow);outline-offset:3px;}
  h1,h2{text-wrap:balance;}
  /* alleen voor schermlezers en zoekmachines, niet zichtbaar */
  .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
  ::-webkit-scrollbar{width:11px;}
  ::-webkit-scrollbar-track{background:var(--onyx);}
  ::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:6px;border:2px solid var(--onyx);}
  ::-webkit-scrollbar-thumb:hover{background:var(--mute);}
  @media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;}html{scroll-behavior:auto;}}
  [id]{scroll-margin-top:84px;}
  @media(max-width:720px){input,select,textarea{font-size:16px!important;}}
  /* ---- logo ---- */
  .brand{display:inline-flex;align-items:center;gap:.38em;}
  .brand .mark{width:.72em;height:.72em;color:var(--crimson-glow);flex-shrink:0;}
  .brand-word{white-space:nowrap;letter-spacing:-.01em;}
  .brand-word em{font-style:italic;color:var(--crimson-glow);font-weight:500;}
  html{scroll-behavior:smooth;}
  body{background:var(--onyx);color:var(--ivory);font-family:'Jost',sans-serif;font-weight:400;line-height:1.75;letter-spacing:.02em;overflow-x:hidden;}
  body::before{content:"";position:fixed;top:-25%;left:50%;transform:translateX(-50%);width:120vw;height:80vh;background:radial-gradient(ellipse at center,rgba(255,30,60,.12) 0%,transparent 60%);pointer-events:none;z-index:0;filter:blur(20px);}
  a{color:inherit;text-decoration:none;}
  button{font-family:inherit;background:none;border:none;cursor:pointer;color:inherit;}
  .wrap{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:0 32px;}

  nav.main{background:var(--onyx);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}
  .nav-inner{max-width:1280px;margin:0 auto;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;gap:32px;}
  .brand{font-family:'Cormorant Garamond';font-weight:500;font-size:24px;color:var(--ivory);}
  .nav-right{display:flex;gap:10px;align-items:center;}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:'Jost';font-weight:500;font-size:12px;letter-spacing:.2em;text-transform:uppercase;padding:13px 24px;border-radius:9px;cursor:pointer;border:1px solid transparent;}
  .btn-primary{background:var(--crimson);color:#fff;box-shadow:0 0 12px rgba(255,30,60,.22);}

  .title-section{padding:34px 0 22px;}
  .eyebrow{font-family:'Jost';font-weight:400;letter-spacing:.5em;text-transform:uppercase;font-size:11px;color:var(--crimson);margin-bottom:18px;}
  h1.page-title{font-family:'Cormorant Garamond';font-weight:500;font-size:clamp(46px,8vw,86px);line-height:1;letter-spacing:-.015em;color:var(--ivory);}
  h1.page-title .it{font-style:italic;color:var(--crimson-glow);}
  .title-section .sub{font-family:'Jost';font-weight:400;color:var(--smoke);font-size:17px;margin-top:22px;max-width:620px;}

  footer{padding:60px 0 30px;border-top:1px solid var(--line);background:var(--velvet);}
  .foot-brand .dot{color:var(--crimson-glow);}

  /* MOBILE MENU */
  body.no-scroll{overflow:hidden;}
  .btn-ghost{background:transparent;border:1px solid var(--crimson);color:var(--crimson);}
  .btn-ghost:hover{background:var(--crimson);color:#fff;}
  .btn-outline{background:transparent;border:1px solid var(--line-2);color:var(--ivory);}
  .btn-outline:hover{border-color:var(--ivory);}
  .btn-lg{padding:16px 32px;font-size:14px;}
  /* Accentwoord (rood, schuin): alleen in de hoofdkop van publieke pagina's, niet in tussenkoppen of op inlog- en accountpagina's */
  h1 .it{font-style:italic;color:var(--crimson-glow);}
  .hamburger{display:none;width:42px;height:42px;border-radius:50%;background:transparent;border:1px solid var(--line);color:var(--ivory);align-items:center;justify-content:center;flex-shrink:0;transition:.2s;}
  .hamburger:hover{border-color:var(--crimson);color:var(--crimson-glow);}
  .drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:.3s;z-index:99;}
  .drawer-overlay.open{opacity:1;pointer-events:auto;}
  .drawer{position:fixed;top:0;right:0;bottom:0;width:90%;max-width:380px;background:var(--velvet);z-index:100;transform:translateX(100%);transition:.35s cubic-bezier(.4,0,.2,1);overflow-y:auto;border-left:1px solid var(--line);}
  .drawer.open{transform:translateX(0);}
  .drawer-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--velvet);z-index:2;}
  .drawer-head .brand{font-size:20px;}
  .drawer-close{width:40px;height:40px;border-radius:50%;background:transparent;border:1px solid var(--line);color:var(--ivory);display:flex;align-items:center;justify-content:center;}
  .drawer-close:hover{border-color:var(--crimson);color:var(--crimson);}
  .drawer-nav{padding:20px 24px;display:flex;flex-direction:column;gap:2px;}
  .drawer-nav .d-section{font-family:'Jost';font-size:11px;font-weight:500;color:var(--ivory);letter-spacing:.28em;text-transform:uppercase;margin:18px 0 6px;padding-bottom:8px;border-bottom:1px solid var(--line);}
  .drawer-nav .d-section:first-child{margin-top:4px;}
  .drawer-nav a{padding:12px 0;font-family:'Jost';font-weight:400;font-size:15px;color:var(--ivory);letter-spacing:.04em;display:flex;justify-content:space-between;align-items:center;}
  .drawer-nav a:hover{color:var(--crimson-glow);}
  .drawer-foot{padding:20px 24px;border-top:1px solid var(--line);background:var(--onyx);}
  .drawer-foot .btn{width:100%;justify-content:center;margin-bottom:10px;}

  @media(max-width:1100px){
    .nav-right .btn,.nav-right .icon-btn{display:none;}
    .hamburger{display:flex;}
  }
  @media(max-width:720px){
    .wrap{padding:0 20px;}
    .nav-inner{padding:14px 20px;}
    .brand{font-size:20px;}
  }

  @media(max-width:1100px){.jobs-layout{grid-template-columns:1fr;}#desktopSidebar{display:none;position:static;}#desktopSidebar.mob-open{display:block;margin-bottom:18px;}.mobile-filter-bar{display:flex;}}
  .zoek-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
  .zoek-chips[hidden]{display:none;}
  .zoek-label{font-family:'Jost';font-weight:400;font-size:13.5px;color:var(--mute);}
  .zoek-chip{display:inline-flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:9px;padding:7px 14px;font-family:'Jost';font-weight:400;font-size:13.5px;color:var(--ivory);cursor:pointer;transition:.18s;text-transform:capitalize;}
  .zoek-chip:hover{border-color:var(--crimson);color:var(--crimson-glow);}
  .zoek-chip span{color:var(--mute);font-size:15px;line-height:1;}
  .zoek-chip.wis{background:transparent;border-style:dashed;color:var(--smoke);}
  /* ===== prive-advertenties ===== */
  .hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;}

  .adv-main{min-width:0;}
  .adv-list{display:flex;flex-direction:column;gap:16px;padding-bottom:60px;}
  .adv-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;transition:.2s;}
  .adv-card:hover{border-color:var(--crimson);box-shadow:0 8px 24px rgba(0,0,0,.35);}
  /* staand fotovak (3:4), zodat bijna de hele foto in beeld is */
  .adv-photo{width:190px;aspect-ratio:3/4;flex-shrink:0;position:relative;background:linear-gradient(135deg,var(--surface-2),var(--velvet));display:flex;align-items:center;justify-content:center;color:var(--mute);}
  .adv-photo .ph-ic{opacity:.5;}
  .adv-photo .new{position:absolute;top:10px;left:10px;background:var(--crimson);color:#fff;font-family:'Jost';font-size:9.5px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;padding:4px 9px;border-radius:20px;}
  .adv-body{flex:1;padding:18px 22px;display:flex;flex-direction:column;gap:7px;min-width:0;}
  .adv-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;}
  .card-link{color:inherit;text-decoration:none;} .card-link:hover{color:var(--crimson-glow);}
  .adv-name{font-family:'Cormorant Garamond';font-weight:600;font-size:22px;color:var(--ivory);line-height:1.1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
  .adv-name .city{font-weight:400;font-style:italic;font-size:18px;color:var(--smoke);}
  .adv-name .prem{color:var(--crimson-glow);}
  .adv-rating{display:flex;align-items:center;gap:6px;flex-shrink:0;font-family:'Jost';font-size:13.5px;color:var(--smoke);}
  .adv-rating .stars{color:var(--champagne);letter-spacing:1px;} .adv-rating b{color:var(--ivory);font-weight:500;}
  .adv-tag{font-family:'Jost';font-weight:400;font-size:15px;color:var(--ivory);}
  .adv-attrs{display:flex;gap:16px;flex-wrap:wrap;font-family:'Jost';font-weight:400;font-size:13.5px;color:var(--smoke);}
  .adv-attrs span{display:inline-flex;align-items:center;gap:6px;} .adv-attrs svg{width:13px;height:13px;color:var(--crimson);}
  .adv-attrs .bureau{color:var(--ivory);} .adv-attrs .bureau svg{color:var(--champagne);}
  .adv-photo .naamtegel{position:relative;z-index:1;padding:0 14px;text-align:center;font-family:'Cormorant Garamond';font-weight:600;font-size:24px;line-height:1.1;color:var(--ivory);}
  .adv-desc{font-family:'Jost';font-weight:400;font-size:14px;color:var(--smoke);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:600px;}
  .adv-foot{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
  .adv-media{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-family:'Jost';font-weight:400;font-size:13px;color:var(--smoke);}
  .adv-media span{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;} .adv-media svg{width:13px;height:13px;color:var(--mute);}
  .adv-media .adv-tijd{padding:0;background:none;border:none;color:var(--mute);}
  .btn-phone{display:inline-flex;align-items:center;gap:8px;background:var(--ok);color:#05130b;font-family:'Jost';font-weight:600;font-size:13.5px;letter-spacing:.06em;padding:11px 20px;border-radius:9px;cursor:pointer;transition:.2s;}
  .btn-phone:hover{filter:brightness(1.1);} .btn-phone svg{width:15px;height:15px;}
  @media(max-width:640px){.adv-card{flex-direction:column;}.adv-photo{width:100%;aspect-ratio:4/5;}}

  /* ---- mobiele tap-targets (min. 40px) ---- */
  @media(max-width:720px){
    .pill-opt{min-height:40px;}
    .hamburger,.car-btn,.hero-btn,.drawer-close{min-width:40px;min-height:40px;}
    .pf-more{min-height:40px;}
    .sm-section li a,.drawer-nav a{display:inline-flex;align-items:center;min-height:40px;}
    .brand{min-height:44px;}
  }

  /* ===== SV-HEADER (gedeeld, gelijk aan homepage) ===== */
  nav.main{background:var(--onyx);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}
  .nav-inner{max-width:1280px;margin:0 auto;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;gap:32px;}
  .brand{display:inline-flex;align-items:center;gap:.38em;font-family:'Cormorant Garamond';font-weight:500;font-size:24px;color:var(--ivory);letter-spacing:-.005em;flex-shrink:0;}
  .mark{width:.72em;height:.72em;color:var(--crimson-glow);flex-shrink:0;}
  .brand-word{white-space:nowrap;letter-spacing:-.01em;}
  .brand-word em{font-style:italic;color:var(--crimson-glow);font-weight:500;}
  .hamburger{display:none;width:42px;height:42px;border-radius:50%;background:transparent;border:1px solid var(--line);color:var(--ivory);align-items:center;justify-content:center;flex-shrink:0;transition:.2s;}
  .hamburger:hover{border-color:var(--crimson);color:var(--crimson-glow);}
  body.no-scroll{overflow:hidden;}
  @media(max-width:1100px){.hamburger{display:flex;}}
  /* ===== header: logo, zoekbalk, registreren/inloggen ===== */
  .nav-inner{gap:22px;}
  .nav-search{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;}
  .ns-field{flex:0 1 440px;display:flex;align-items:center;gap:9px;background:var(--onyx);border:1px solid var(--line);border-radius:9px;padding:0 14px;min-width:0;transition:.2s;}
  .ns-field:focus-within{border-color:var(--crimson);}
  .ns-field > svg{color:var(--crimson);flex-shrink:0;}
  .ns-field input{flex:1;background:transparent;border:none;outline:none;color:var(--ivory);font-family:'Jost';font-weight:400;font-size:14.5px;padding:11px 0;min-width:0;}
  .ns-field input::placeholder{color:var(--mute);}
  .ns-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:9px;background:var(--crimson);color:#fff;border:none;cursor:pointer;flex-shrink:0;transition:.2s;}
  .ns-btn:hover{background:var(--crimson-glow);}
  .btn-reg,.btn-login{display:inline-flex;align-items:center;justify-content:center;font-family:'Jost';font-weight:500;font-size:13.5px;letter-spacing:.06em;padding:11px 20px;border-radius:9px;white-space:nowrap;transition:.2s;}
  .btn-reg{background:var(--crimson);color:#fff;}
  .btn-reg:hover{background:var(--crimson-glow);}
  .btn-login{background:transparent;border:1px solid var(--line-2);color:var(--ivory);}
  .btn-login:hover{border-color:var(--crimson);color:var(--crimson-glow);}
  .ns-toggle{display:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);color:var(--ivory);align-items:center;justify-content:center;flex-shrink:0;transition:.2s;}
  .ns-toggle:hover,nav.main.zoek-open .ns-toggle{border-color:var(--crimson);color:var(--crimson-glow);}
  @media(max-width:860px){
    .nav-inner{flex-wrap:wrap;gap:12px;}
    /* zoekveld als tweede rij alleen wanneer het geopend is */
    .nav-search{order:3;flex-basis:100%;max-width:none;display:none;}
    nav.main.zoek-open .nav-search{display:flex;}
    .ns-toggle{display:inline-flex;}
    .ns-field{flex:1;}
    .btn-reg,.btn-login{padding:10px 14px;font-size:13px;}
  }
  @media(max-width:520px){
    .btn-reg,.btn-login{display:none;}
  }
  /* ===== categoriebalk onder de nav ===== */
  .cat-nav{background:var(--velvet);border-bottom:1px solid var(--line);position:relative;z-index:48;}
  @media(max-width:1100px){.cat-nav{display:none;}}
  .cat-nav-inner{display:flex;align-items:center;justify-content:center;gap:2px;}
  .cat-nav-inner::-webkit-scrollbar{display:none;}
  @media(max-width:900px){.cat-nav-inner{justify-content:flex-start;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;}}
  .cn-link{position:relative;display:inline-flex;align-items:center;white-space:nowrap;padding:15px 18px;font-family:'Jost';font-weight:400;font-size:15px;color:var(--smoke);letter-spacing:.03em;transition:.18s;background:none;border:none;cursor:pointer;}
  .cn-link:hover{color:var(--ivory);}
  .cn-link.active{color:var(--ivory);}
  .cn-link.active::after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:2px;background:var(--crimson);}
  .cn-item{position:relative;}
  .cn-drop{position:absolute;top:100%;left:0;z-index:70;min-width:216px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:8px;box-shadow:0 18px 44px rgba(0,0,0,.55);opacity:0;visibility:hidden;transform:translateY(-6px);transition:.18s;}
  .cn-item:hover .cn-drop,.cn-item.open .cn-drop{opacity:1;visibility:visible;transform:translateY(0);}
  .cn-drop a{display:block;padding:10px 14px;border-radius:7px;font-family:'Jost';font-weight:400;font-size:14.5px;color:var(--smoke);transition:.15s;}
  .cn-drop a:hover{background:var(--surface-2);color:var(--crimson-glow);}
  @media(max-width:900px){
    .cat-nav-inner{padding-left:20px;padding-right:20px;}
    .cn-link{padding:13px 14px;font-size:14.5px;}
    .cn-link.active::after{left:14px;right:14px;}
    .cn-drop{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;display:none;min-width:0;}
    .cn-item.open .cn-drop{display:block;}
  }
  .drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:.3s;z-index:99;}
  .drawer-overlay.open{opacity:1;pointer-events:auto;}
  .drawer{position:fixed;top:0;right:0;bottom:0;width:90%;max-width:380px;background:var(--velvet);z-index:100;transform:translateX(100%);transition:.35s cubic-bezier(.4,0,.2,1);overflow-y:auto;border-left:1px solid var(--line);}
  .drawer.open{transform:translateX(0);}
  .drawer-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--velvet);z-index:2;}
  .drawer-head .brand{font-size:20px;}
  .drawer-close{width:40px;height:40px;border-radius:50%;background:transparent;border:1px solid var(--line);color:var(--ivory);display:flex;align-items:center;justify-content:center;}
  .drawer-close:hover{border-color:var(--crimson);color:var(--crimson);}
  .drawer-nav{padding:20px 24px;display:flex;flex-direction:column;gap:2px;}
  .drawer-nav .d-section{font-family:'Jost';font-size:11px;font-weight:500;color:var(--ivory);letter-spacing:.28em;text-transform:uppercase;margin:18px 0 6px;padding-bottom:8px;border-bottom:1px solid var(--line);}
  .drawer-nav .d-section:first-child{margin-top:4px;}
  .drawer-nav a{padding:12px 0;font-family:'Jost';font-weight:400;font-size:15px;color:var(--ivory);letter-spacing:.04em;display:flex;justify-content:space-between;align-items:center;}
  .drawer-nav a:hover{color:var(--crimson-glow);}
  .drawer-nav a .sub{font-size:11px;color:var(--mute);font-weight:400;letter-spacing:.1em;text-transform:uppercase;}
  /* uitloggen in het menu: oogt als de andere regels, maar is een formulierknop */
  .drawer-nav .d-uitloggen{margin:0;}
  .drawer-nav .d-uitloggen button{width:100%;min-height:40px;padding:12px 0 12px 2px;background:none;border:0;text-align:left;font-family:'Jost';font-weight:400;font-size:15px;color:var(--mute);letter-spacing:.04em;cursor:pointer;display:flex;align-items:center;}
  .drawer-nav .d-uitloggen button:hover{color:var(--crimson-glow);}
  .drawer-foot{padding:20px 24px;border-top:1px solid var(--line);background:var(--onyx);}
  .drawer-foot .btn{width:100%;justify-content:center;margin-bottom:10px;}

  /* ============= H1 SECTION ============= */
  .drawer-foot .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:'Jost';font-weight:500;font-size:12px;letter-spacing:.2em;text-transform:uppercase;padding:13px 24px;border-radius:9px;cursor:pointer;border:1px solid transparent;transition:.2s;}
  .drawer-foot .btn-primary{background:var(--crimson);color:#fff;box-shadow:0 0 12px rgba(255,30,60,.22);}
  .drawer-foot .btn-ghost{background:transparent;border:1px solid var(--crimson);color:var(--crimson);}
  .nav-right{display:flex;align-items:center;gap:10px;flex-shrink:0;}
  .cat-nav .wrap{max-width:1280px;margin:0 auto;padding:0 32px;}
  /* ===== EINDE SV-HEADER ===== */

  /* ===== SV-FOOTER (gedeeld) — stille luxe: merk + kolommen / stedenregel / colofon ===== */
  .svf{padding:72px 0 30px;border-top:1px solid var(--line);background:linear-gradient(180deg,var(--onyx),var(--velvet) 60%);}
  .svf-wrap{max-width:1280px;margin:0 auto;padding:0 32px;}
  .svf-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(0,1fr));gap:40px 44px;}
  .svf-logo{display:inline-flex;align-items:center;gap:.38em;font-family:'Cormorant Garamond';font-weight:500;font-size:24px;color:var(--ivory);}
  .svf-logo .mark{width:.72em;height:.72em;color:var(--crimson-glow);flex-shrink:0;}
  .svf-tagline{font-family:'Jost';font-weight:400;font-size:14.5px;line-height:1.7;color:var(--smoke);margin:16px 0 20px;max-width:280px;}
  .svf h4{font-family:'Jost';font-weight:500;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--champagne,#D8B27A);}
  .svf h4{margin:6px 0 18px;}
  .svf-col ul{list-style:none;margin:0;padding:0;}
  .svf-col li{margin:0 0 11px;}
  .svf a{font-family:'Jost';font-weight:400;font-size:14.5px;color:var(--smoke);text-decoration:none;transition:color .15s;}
  .svf a:hover{color:var(--ivory);}
  .svf-col a:hover,.svf-mail:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line-2);}
  /* colofon */
  .svf-bottom{border-top:1px solid var(--line);margin-top:26px;padding-top:24px;display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:10px 24px;}
  .svf-bottom p{font-family:'Jost';font-weight:400;font-size:13.5px;color:var(--mute);margin:0;}
  .svf-bottom a{font-size:13px;color:var(--mute);}
  .svf-bottom a:hover{color:var(--smoke);}
  .svf-legal{display:flex;flex-wrap:wrap;gap:8px 20px;}
  .svf-grid + .svf-bottom{margin-top:52px;}
  @media(max-width:1000px){
    .svf-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .svf-brand{grid-column:span 2;}
  }
  @media(max-width:560px){
    .svf-wrap{padding:0 20px;}
    .svf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px;}
    .svf-brand{grid-column:span 2;}
    .svf-bottom{flex-direction:column;align-items:flex-start;}
  }
  /* ===== EINDE SV-FOOTER ===== */

  /* ===== filterbalk boven advertenties (dichtgeklapt) ===== */
  .advfilter{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:9px;margin-bottom:16px;}
  .af-row{display:flex;gap:7px;margin-bottom:7px;}
  .af-locfield{flex:1;display:flex;align-items:center;gap:8px;background:var(--onyx);border:1px solid var(--line);border-radius:9px;padding:0 11px;min-width:0;transition:.2s;}
  .af-locfield:focus-within{border-color:var(--crimson);}
  .af-locfield > svg{color:var(--crimson);flex-shrink:0;}
  .af-locfield input{flex:1;background:transparent;border:none;outline:none;color:var(--ivory);font-family:'Jost';font-weight:400;font-size:14px;padding:8px 0;min-width:0;}
  .af-locfield input::placeholder{color:var(--mute);}
  .af-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;}
  .af-dd{position:relative;}
  .af-btn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--onyx);border:1px solid var(--line);border-radius:9px;padding:8px 11px;color:var(--ivory);font-family:'Jost';font-weight:400;font-size:14px;cursor:pointer;transition:.15s;}
  .af-btn:hover,.af-dd.open .af-btn{border-color:var(--crimson);}
  .af-btn svg{color:var(--smoke);transition:.2s;flex-shrink:0;}
  .af-dd.open .af-btn svg{transform:rotate(180deg);}
  .af-count{color:var(--crimson-glow);font-weight:400;}
  .af-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:40;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:8px;display:none;box-shadow:0 18px 44px rgba(0,0,0,.55);}
  .af-dd.open .af-panel{display:block;}
  .af-opt{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:transparent;border:none;border-radius:6px;padding:7px 9px;color:var(--smoke);font-family:'Jost';font-weight:400;font-size:14px;cursor:pointer;transition:.15s;}
  .af-opt::before{content:"";width:15px;height:15px;border:1px solid var(--line-2);border-radius:4px;flex-shrink:0;transition:.15s;}
  .af-opt:hover{background:var(--surface);color:var(--ivory);}
  .af-opt.active{color:var(--ivory);}
  .af-btn:disabled{opacity:.4;cursor:default;}
  .af-btn:disabled:hover{border-color:var(--line);}
  .af-opt.active::before{background:var(--crimson);border-color:var(--crimson);box-shadow:inset 0 0 0 3px var(--surface-2);}
  .af-meer{width:100%;margin-top:7px;display:flex;align-items:center;justify-content:center;gap:7px;background:transparent;border:1px solid var(--line);border-radius:9px;padding:7px;color:var(--mute);font-family:'Jost';font-weight:400;font-size:11px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:.15s;}
  .af-meer:hover{color:var(--ivory);border-color:var(--line-2);}
  .af-meer svg{transition:.2s;}
  .af-meer[aria-expanded="true"] svg{transform:rotate(180deg);}
  /* Meer/minder filteropties: soepel open- en dichtklappen */
  #afMeerWrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease;}
  #afMeerWrap.open{grid-template-rows:1fr;}
  #afMeerWrap > .af-inner{overflow:hidden;min-height:0;padding-top:7px;}
  #afMeerWrap.toon > .af-inner{overflow:visible;}
  @media(prefers-reduced-motion:reduce){#afMeerWrap{transition:none;}}
  @media(max-width:1000px){.af-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
  @media(max-width:560px){
    .advfilter{padding:7px;border-radius:9px;margin-bottom:14px;}
    .af-row{gap:6px;margin-bottom:6px;}
    .af-locfield{padding:0 9px;gap:6px;}
    .af-locfield input{font-size:13.5px;padding:10px 0;text-overflow:ellipsis;}
    .af-grid{gap:6px;}
    .af-btn{padding:10px 9px;font-size:13.5px;gap:4px;}
    .af-meer{padding:9px;margin-top:6px;font-size:10.5px;}
    .af-opt{padding:9px;}
  }

  /* ===== filterknop in de vaste kop + uitklapstand ===== */
  /* Zodra de filterbalk uit beeld is, verschijnt deze knop in de kop, dus niet zwevend boven de profielen */
  .af-pill{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 15px;flex-shrink:0;
    background:var(--surface-2);border:1px solid var(--line-2);border-radius:9px;color:var(--ivory);
    font-family:'Jost';font-weight:500;font-size:13px;letter-spacing:.04em;cursor:pointer;
    opacity:0;transition:opacity .2s,border-color .15s;}
  .af-pill[hidden]{display:none;}
  .af-pill.zichtbaar{opacity:1;}
  .af-pill:hover{border-color:var(--crimson);}
  .af-pill svg{color:var(--crimson);flex-shrink:0;}
  .af-pill-n{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;
    border-radius:10px;background:var(--crimson);color:#fff;font-size:11px;letter-spacing:0;}
  .af-pill-n[hidden]{display:none;}
  @media(max-width:520px){.af-pill{padding:0 12px;}.af-pill .af-pill-tekst{display:none;}}
  /* mobiel: filters achter één knop naast "Zoek op plaats" */
  .af-mob-knop{display:none;align-items:center;gap:8px;flex-shrink:0;padding:0 15px;background:var(--surface-2);
    border:1px solid var(--line-2);border-radius:9px;color:var(--ivory);font-family:'Jost';font-weight:500;font-size:14px;cursor:pointer;}
  .af-mob-knop svg{color:var(--crimson);}
  @media(max-width:720px){
    .af-mob-knop{display:inline-flex;}
    .advfilter:not(.af-zwevend) .af-row{margin-bottom:0;}
    .advfilter:not(.af-zwevend) .af-grid,.advfilter:not(.af-zwevend) #afMeerWrap,.advfilter:not(.af-zwevend) .af-meer{display:none;}
    .advfilter.af-zwevend .af-mob-knop,.advfilter.af-zwevend .af-meer{display:none;}
  }
  .af-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(3px);z-index:56;}
  /* zwevende stand van de filterbalk zelf */
  .advfilter.af-zwevend{position:fixed;top:96px;left:50%;transform:translateX(-50%);z-index:57;
    width:min(1216px,calc(100vw - 40px));max-height:calc(100vh - 120px);overflow-y:auto;
    box-shadow:0 24px 60px rgba(0,0,0,.6);}
  .af-sluit{display:none;width:100%;margin-top:7px;background:var(--crimson);color:#fff;border:none;
    border-radius:7px;padding:11px;font-family:'Jost';font-weight:500;font-size:12px;letter-spacing:.12em;
    text-transform:uppercase;cursor:pointer;transition:.15s;}
  .af-sluit:hover{background:var(--crimson-glow);}
  .advfilter.af-zwevend .af-sluit{display:block;}
  /* kruisje rechtsboven om het zwevende filterpaneel te sluiten */
  .af-kruis{display:none;position:absolute;top:9px;right:9px;width:38px;height:38px;align-items:center;justify-content:center;
    background:var(--onyx);border:1px solid var(--line);border-radius:9px;color:var(--ivory);cursor:pointer;transition:.15s;}
  .af-kruis:hover{border-color:var(--crimson);color:var(--crimson-glow);}
  .advfilter.af-zwevend .af-kruis{display:inline-flex;}
  .advfilter.af-zwevend .af-row{padding-right:46px;}
  @media(max-width:900px){
    .advfilter.af-zwevend{top:80px;max-height:calc(100vh - 104px);}
  }
  @media(max-width:560px){
    .advfilter.af-zwevend{top:72px;width:calc(100vw - 24px);max-height:calc(100vh - 92px);}
  }

  /* ===== paginering ===== */
  .adv-pagi{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:52px 0;}
  .pg-btn{min-width:40px;height:40px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;
    background:var(--surface);border:1px solid var(--line);border-radius:9px;color:var(--smoke);
    font-family:'Jost';font-weight:400;font-size:15px;cursor:pointer;transition:.15s;}
  .pg-btn:hover{border-color:var(--crimson);color:var(--ivory);}
  .pg-btn.active{background:var(--crimson);border-color:var(--crimson);color:#fff;font-weight:500;}
  .pg-btn.active:hover{color:#fff;}
  @media(max-width:560px){.pg-btn{min-width:36px;height:36px;font-size:14px;padding:0 9px;}}

  /* ===== prijs-schuifbalk ===== */
  .af-panel-prijs{padding:16px 14px 12px;min-width:250px;}
  .pr-vals{display:flex;justify-content:space-between;font-family:'Jost';font-weight:400;font-size:14px;color:var(--ivory);margin-bottom:14px;}
  .pr-slider{position:relative;height:24px;}
  .pr-track{position:absolute;top:10px;left:0;right:0;height:4px;background:var(--line-2);border-radius:4px;}
  .pr-fill{position:absolute;top:10px;height:4px;background:var(--crimson);border-radius:4px;}
  .pr-slider input[type=range]{position:absolute;top:0;left:0;width:100%;height:24px;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none;}
  .pr-slider input[type=range]::-webkit-slider-runnable-track{background:none;border:none;}
  .pr-slider input[type=range]::-moz-range-track{background:none;border:none;}
  .pr-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--crimson);border:2px solid #fff;cursor:pointer;pointer-events:auto;box-shadow:0 2px 6px rgba(0,0,0,.55);margin-top:3px;}
  .pr-slider input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--crimson);border:2px solid #fff;cursor:pointer;pointer-events:auto;}
  .pr-slider input[type=range]:focus{outline:none;}

  /* ===== echte advertentiefoto op de kaart ===== */
  .adv-photo{overflow:hidden;}
  .adv-photo .adv-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--foto-uitsnede);z-index:1;}
  /* Bedrijf: logo of sfeerbeeld helemaal in beeld, zonder uitsnede */
  .adv-photo .adv-img.logo-foto{object-fit:contain;padding:10px;background:var(--onyx);}
  .adv-photo .new{z-index:2;}

  /* ===== drawer-accordeon (alles ingeklapt) ===== */
  .drawer-nav .d-section{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;user-select:none;}
  .drawer-nav .d-section .d-chev{width:14px;height:14px;color:var(--smoke);transition:transform .2s;flex-shrink:0;}
  .drawer-nav .d-section.open .d-chev{transform:rotate(180deg);}
  .drawer-nav .d-group{overflow:hidden;max-height:0;transition:max-height .28s ease;}
  .drawer-nav .d-group.open{max-height:640px;}
  .drawer-nav .d-group a{padding-left:2px;}

  /* ===== geanimeerde hamburger (streepjes -> X) ===== */
  #hamburger{position:relative;}
  #hamburger .hb{position:absolute;left:12px;width:18px;height:2px;background:currentColor;border-radius:2px;
    transition:transform .32s cubic-bezier(.68,-0.4,.27,1.4),opacity .18s ease;}
  #hamburger .hb1{top:15px;}
  #hamburger .hb2{top:20px;}
  #hamburger .hb3{top:25px;}
  #hamburger.active .hb1{transform:translateY(5px) rotate(45deg);}
  #hamburger.active .hb2{opacity:0;transform:scaleX(.2);}
  #hamburger.active .hb3{transform:translateY(-5px) rotate(-45deg);}

/* ===== sectiekop + kaartlabels (overzicht en landingspagina's) ===== */
  /* sectiekop zoals in het prototype: titel + subtekst links, "alle" rechts */
  .sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px;flex-wrap:wrap;}
  .sec-head .sec-title{font-family:'Cormorant Garamond';font-weight:500;font-size:clamp(36px,5vw,56px);color:var(--ivory);letter-spacing:-.015em;line-height:1.05;margin-bottom:6px;}
  .sec-head h1.sec-title .it{font-style:italic;color:var(--crimson-glow);}
  .sec-head .sec-sub{color:var(--smoke);font-size:16px;font-weight:400;max-width:640px;margin-bottom:0;}
  .sec-more{font-family:'Jost';font-weight:500;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--crimson);white-space:nowrap;}
  .sec-more:hover{color:var(--crimson-glow);}
  /* labels linksboven op de foto: promotie en/of Nieuw, naast elkaar */
  .adv-labels{position:absolute;top:10px;left:10px;z-index:2;display:flex;gap:6px;flex-wrap:wrap;}
  .adv-labels .adv-promo,.adv-labels .new{position:static;}
  .adv-promo{font-family:'Jost';font-size:9.5px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;padding:4px 9px;border-radius:20px;}
  .adv-promo.top{background:var(--crimson);color:#fff;box-shadow:0 0 10px rgba(255,30,60,.35);}
  .adv-promo.uit{background:var(--champagne);color:#241A19;}

/* ===== populaire steden in de footer (interne links naar de stadspagina's) ===== */
/* (stedenregel-footer: stijlen staan bij het SV-FOOTER-blok) */

/* ===== kruimelpad op de profielpagina ===== */
.pf-kruimels{padding:18px 0 4px;font-family:'Jost',sans-serif;font-weight:400;font-size:13px;color:var(--mute);display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.pf-kruimels a{color:var(--smoke);} .pf-kruimels a:hover{color:var(--crimson);}
.pf-kruimels .sep{color:var(--line-2);}

/* ===== linkblokken met interne SEO-links (overzicht, landings- en stedenpagina) ===== */
.linkblok{padding:26px 0;border-top:1px solid var(--line);}
.linkblok h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:24px;color:var(--ivory);margin-bottom:14px;}
.linkblok h2 .prov{font-family:'Jost',sans-serif;font-weight:400;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-left:8px;}
.linkrij{display:flex;gap:8px;flex-wrap:wrap;}
.linkrij a{display:inline-flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:8px 15px;font-family:'Jost',sans-serif;font-weight:400;font-size:14px;color:var(--smoke);transition:.2s;}
.linkrij a:hover{border-color:var(--crimson);color:var(--ivory);}
.linkrij a span{font-size:11px;color:var(--mute);background:var(--surface-2);border-radius:20px;padding:1px 7px;}
.kruimels{padding:18px 0 0;font-family:'Jost',sans-serif;font-weight:400;font-size:13px;color:var(--mute);display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.kruimels a{color:var(--smoke);} .kruimels a:hover{color:var(--crimson);}
.kruimels .sep{color:var(--line-2);}

/* ============================================================
   UX 2.0 — één bewegings- en dieptetaal voor de hele site.
   Twee snelheden: --vlot voor kleuren/randen, --zwevend voor
   verplaatsing. prefers-reduced-motion (bovenin) schakelt
   alles in één keer uit.
   ============================================================ */
:root{--vlot:.18s cubic-bezier(.4,0,.2,1);--zwevend:.32s cubic-bezier(.22,1,.36,1);}

/* Pagina-inhoud vloeit rustig in. Bewust alleen opacity: een transform op main
   zou fixed elementen (belbalk, 21+-poort) tijdelijk laten verspringen. */
main{animation:sv-fade .3s ease-out both;}
@keyframes sv-fade{from{opacity:0;}to{opacity:1;}}
@keyframes sv-in{from{opacity:0;transform:translateY(9px);}to{opacity:1;transform:none;}}

/* Sticky header met glas-effect zodra er ondersteuning is */
@supports (backdrop-filter:blur(1px)){
  nav.main{background:rgba(10,10,10,.82);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);}
}

/* Profielkaarten: optillen, gloed, en de foto zoomt heel licht mee */
.adv-card{transition:transform var(--zwevend),box-shadow var(--zwevend),border-color var(--vlot);}
.adv-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(0,0,0,.45),0 4px 16px rgba(255,30,60,.10);}
.adv-photo{overflow:hidden;}
.adv-photo .adv-img{transition:transform .55s cubic-bezier(.22,1,.36,1);}
.adv-card:hover .adv-img{transform:scale(1.05);}
/* Tweede foto: ligt onzichtbaar over de eerste en vervaagt in bij hover */
.adv-photo .adv-img-2{opacity:0;transition:opacity .5s ease,transform .55s cubic-bezier(.22,1,.36,1);}
.adv-card:hover .adv-img-2{opacity:1;}
/* De eerste kaarten druppelen gestaffeld binnen; daarna verschijnt de rest direct */
.adv-card{animation:sv-in .4s cubic-bezier(.22,1,.36,1) backwards;}
.adv-card:nth-child(2){animation-delay:.05s}
.adv-card:nth-child(3){animation-delay:.1s}
.adv-card:nth-child(4){animation-delay:.15s}
.adv-card:nth-child(5){animation-delay:.2s}
.adv-card:nth-child(n+6){animation-delay:.24s}

/* Knoppen: til bij hover, veer terug bij klik */
.btn,.pbtn,.btn-reg,.btn-login,.ns-btn,.pg-btn,.zoek-chip,.bestand-knop{
  transition:transform var(--vlot),box-shadow var(--vlot),background var(--vlot),border-color var(--vlot),color var(--vlot);}
.btn:hover,.pbtn:hover,.btn-reg:hover,.btn-login:hover{transform:translateY(-1px);}
.btn:active,.pbtn:active,.btn-reg:active,.btn-login:active,.ns-btn:active,.pg-btn:active{transform:translateY(0) scale(.97);}
.btn-primary:hover,.btn-reg:hover{box-shadow:0 8px 24px rgba(255,30,60,.35);}

/* Formuliervelden: zachte gloed op focus */
input,select,textarea{transition:border-color var(--vlot),box-shadow var(--vlot),background var(--vlot);}
.form-input:focus,.field input:focus,.field select:focus,.field textarea:focus,.ns-field:focus-within{
  border-color:var(--crimson);box-shadow:0 0 0 3px rgba(255,30,60,.13);}

/* Categorienav: lijntje groeit onder de link */
.cn-link:not(.active)::after{content:"";position:absolute;left:50%;right:50%;bottom:0;height:2px;background:var(--crimson);opacity:0;transition:left var(--vlot),right var(--vlot),opacity var(--vlot);}
.cn-link:not(.active):hover::after{left:18px;right:18px;opacity:.55;}

/* Filterpanelen klappen open met een veertje */
.af-dd.open .af-panel{animation:sv-paneel .16s ease-out;}
.cn-item:hover .cn-drop,.cn-item.open .cn-drop{transition:.16s ease-out;}
@keyframes sv-paneel{from{opacity:0;transform:translateY(-5px);}to{opacity:1;transform:none;}}

/* Meldingen en notities glijden binnen */
.alert{animation:sv-in .3s ease-out both;}

/* Detailpagina: tabs en carrousel */
.pf-tab:hover{color:var(--ivory);}
.pf-thumb{overflow:hidden;}
.pf-thumb-img{transition:transform .45s cubic-bezier(.22,1,.36,1),opacity var(--vlot);}
.pf-thumb:hover .pf-thumb-img{transform:scale(1.06);}

/* Paginering: subtiel optillen */
.pg-btn:hover{transform:translateY(-1px);}

/* Voortgangsbalk (profieltraject): stap licht op bij hover */
.vg-stap{transition:border-color var(--vlot),background var(--vlot);}

/* Kaartlabels (NIEUW / promotie) krijgen een zachte pulsering bij binnenkomst */
.adv-photo .new{animation:sv-label .5s cubic-bezier(.22,1,.36,1) .35s backwards;}
@keyframes sv-label{from{opacity:0;transform:scale(.7);}to{opacity:1;transform:none;}}

/* ===== taalkeuze ===== */
.taalknop{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border:1px solid var(--line-2);border-radius:9px;color:var(--smoke);font-family:'Jost',sans-serif;font-weight:500;font-size:13px;letter-spacing:.08em;transition:.15s;}
.taalknop:hover{color:var(--ivory);border-color:var(--crimson);}
.taalknop svg{color:var(--crimson);}
@media(max-width:640px){.taalknop{display:none;}}
.svf-taal{display:inline-flex;gap:12px;}
.svf-taal a[aria-current]{color:var(--ivory);}
