.top-bar{background:var(--primary);color:var(--white);font-size:13px;padding:6px 0}
.top-bar__inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.top-bar__left{display:flex;gap:20px;align-items:center}
.top-bar__link{color:rgba(255,255,255,.85);display:inline-flex;align-items:center;gap:6px;transition:color var(--transition)}
.top-bar__link:hover{color:var(--white)}
.top-bar__link--accent{color:var(--accent);font-weight:600}
.top-bar__link--accent:hover{color:#e8bf6d}
.top-bar svg{flex-shrink:0}

.site-header{background:var(--white);padding:16px 0;position:sticky;top:0;z-index:100;transition:box-shadow .3s,padding .3s}
.site-header--sticky{box-shadow:var(--shadow);padding:10px 0}
.site-header__inner{display:flex;align-items:center;height:60px;justify-content:space-between;gap:24px}
.site-header__logo{flex-shrink:0;position:relative;z-index:101}
.site-header__logo img,.site-header__logo .custom-logo{height:50px;width:auto;transition:height .3s}
.site-header--sticky .site-header__logo img,.site-header--sticky .site-header__logo .custom-logo{height:38px}

.site-nav{flex:1;display:flex;justify-content:center}
.site-nav__list{list-style:none;display:flex;gap:32px;align-items:center}
.site-nav__list li a{color:var(--primary);font-family:var(--font-heading);font-weight:500;font-size:15px;padding:4px 0;position:relative;transition:color var(--transition)}
.site-nav__list li a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--accent);transition:width .25s}
.site-nav__list li a:hover::after,.site-nav__list li.current-menu-item a::after{width:100%}
.site-nav__list li a:hover{color:var(--accent)}

.site-header__actions{display:flex;align-items:center;gap:16px;flex-shrink:0}
.header-account{color:var(--primary);display:flex}
.header-account:hover{color:var(--accent)}
.header-cart__trigger{position:relative;background:none;border:none;cursor:pointer;color:var(--primary);display:flex;padding:4px;transition:color var(--transition)}
.header-cart__trigger:hover{color:var(--accent)}
.header-cart__count{position:absolute;top:-4px;right:-6px;background:var(--accent);color:var(--primary);font-size:11px;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1}

.mobile-menu-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px 4px;width:32px}
.mobile-menu-toggle span{display:block;height:2px;background:var(--primary);border-radius:2px;transition:all .3s}

@media(max-width:1023px){
    .site-nav{position:fixed;top:0;left:0;width:280px;height:100vh;background:var(--white);box-shadow:var(--shadow-lg);z-index:200;transform:translateX(-100%);transition:transform .3s;padding:80px 24px 24px;flex-direction:column;justify-content:flex-start;overflow-y:auto}
    .site-nav__list{flex-direction:column;gap:0;align-items:stretch}
    .site-nav__list li a{padding:10px 0;display:block;font-size:16px;border-bottom:1px solid var(--border)}
    .mobile-menu-toggle{display:flex}
    body.nav-open .site-nav{transform:translateX(0)}
    body.nav-open .mobile-menu-toggle span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
    body.nav-open .mobile-menu-toggle span:nth-child(2){opacity:0}
    body.nav-open .mobile-menu-toggle span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
}
@media(max-width:767px){
    .top-bar__left{gap:12px;flex-wrap:wrap}
    .top-bar__right{display:none}
    .site-header__logo img,.site-header__logo .custom-logo{height:44px}
    .site-header--sticky .site-header__logo img,.site-header--sticky .site-header__logo .custom-logo{height:34px}
}

/* Category nav bar hover */
.cat-nav a:hover {
    background: rgba(255,255,255,.15) !important;
    color: #fff !important;
}

.cat-nav a:active {
    background: rgba(255,255,255,.2) !important;
}

/* Top bar alignment */
.top-bar__right {
    display: flex;
    align-items: center;
    gap: 16px;
}

.top-bar__right .top-bar__link {
    display: inline-flex;
    align-items: center;
}

.top-bar__right .top-bar__link--accent {
    padding: 3px 12px;
    background: rgba(255,255,255,.12);
    border-radius: 4px;
}

/* ===== mobile header fixes (added) ===== */
@media(max-width:767px){
  .top-bar__right{display:none!important}
  .top-bar{font-size:12px;padding:5px 0}
  .top-bar__inner{justify-content:center;flex-wrap:nowrap}
  .top-bar__left{gap:16px}
}
@media(max-width:1023px){
  .cat-nav ul{justify-content:flex-start!important;gap:18px!important}
  .cat-nav{padding:6px 0!important}
}

/* ===== force header action buttons visible on mobile (added) ===== */
@media(max-width:1023px){
  body .site-header__actions .mobile-menu-toggle{display:flex!important}
}
body .site-header__actions .header-cart__trigger{display:flex!important}

/* ===== compacte taalkiezer NL | FR in de top bar (added) =====
   Zit als direct kind in .top-bar__inner, niet in .top-bar__right (die is
   verborgen onder 768px). Zichtbaar op ALLE schermbreedtes. */
.top-bar__lang{
  display:flex;
  align-items:center;
  gap:2px;
  flex-shrink:0;
  font-size:12px;
  line-height:1;
  white-space:nowrap;
}
.top-bar__lang-link{
  display:inline-block;
  padding:4px 6px;
  color:rgba(255,255,255,.75);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.06em;
  text-decoration:none;
  border-radius:3px;
  transition:color var(--transition);
}
.top-bar__lang-link:hover,
.top-bar__lang-link:focus-visible{color:var(--white)}
.top-bar__lang-link.is-current{color:var(--accent);font-weight:700}
.top-bar__lang-sep{color:rgba(255,255,255,.35);font-size:11px;user-select:none}

/* Desktop: .top-bar__right blijft rechts staan, de taalkiezer sluit erop aan.
   De auto-marge slokt de vrije ruimte op vóór __right, zodat space-between de
   drie kinderen niet uit elkaar trekt. */
@media(min-width:768px){
  .top-bar__right{margin-left:auto}
  .top-bar__lang{margin-left:16px}
}

/* Mobiel: __right is verborgen, dus alleen e-mail + taalkiezer.
   Twee auto-marges verdelen de vrije ruimte: e-mail komt (vrijwel) gecentreerd
   te staan en de taalkiezer plakt tegen de rechterrand. */
@media(max-width:767px){
  .top-bar__lang{font-size:11px;gap:0;margin-left:auto}
  .top-bar__left{margin-left:auto}
  .top-bar__lang-link{padding:4px 5px;letter-spacing:.04em}
}

/* ===== shop archive layout + collapsible filters (checkbox accordion) ===== */
.shop-layout{display:grid;grid-template-columns:240px 1fr;gap:32px;align-items:start;margin-top:16px}
.shop-sidebar{position:sticky;top:184px}
.shop-filters__cb{display:none}
.shop-filters__toggle{display:none}
.shop-filters__body{display:block}
@media(max-width:1023px){
  .shop-layout{grid-template-columns:1fr;gap:16px;margin-top:12px}
  .shop-sidebar{position:static;top:auto;margin-bottom:8px}
  .shop-filters__toggle{display:flex;align-items:center;justify-content:space-between;cursor:pointer;background:#252d51;color:#fff;padding:12px 16px;border-radius:8px;font-family:Kanit,sans-serif;font-weight:600;font-size:14px}
  .shop-filters__toggle::after{content:"\25BE";font-size:12px}
  .shop-filters__cb:checked ~ .shop-filters__toggle::after{content:"\25B4"}
  .shop-filters__body{display:none;margin-top:12px}
  .shop-filters__cb:checked ~ .shop-filters__body{display:block}
  .shop-controls{margin-bottom:16px}
  .subcategories-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:430px){.subcategories-grid{grid-template-columns:1fr!important}}

/* ===== cartpops side-cart drawer: full-screen on mobile + readable item meta ===== */
@media(max-width:767px){
  .cpops-default-drawer.cpops-modal-wrap{width:100%!important;max-width:100%!important;left:0!important;right:0!important}
  .cpops-panel,.cpops-drawer-cart,.cpops-drawer-body,.cpops-drawer-footer,.cpops-cart-total{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
  .cpops-cart-item,.cpops-cart-item__container,.cpops-cart-item__product,.cpops-cart-item__product--name,.cpops-cart-item__product--data,.cpops-cart-item__details{overflow:visible!important;min-width:0!important;box-sizing:border-box!important}
  .cpops-cart-item__details,.cpops-cart-item__product{flex:1 1 auto!important;width:auto!important;max-width:100%!important}
  .cpops-cart-item__product--data,.cpops-collapse,[class*=cpops-collapse]{width:100%!important;max-width:100%!important;overflow:visible!important;box-sizing:border-box!important}
  .cpops-cart-item__name,.cpops-cart-item__title,.cpops-cart-item__product--name a,.cpops-cart-item a{font-size:15px!important;line-height:1.35!important;word-break:normal!important;overflow-wrap:anywhere}
  .cpops-cart-item dl.variation{display:block!important;width:100%!important;margin:6px 0 0!important;font-size:13px!important;line-height:1.5!important}
  .cpops-cart-item dl.variation dt{display:inline!important;float:none!important;width:auto!important;margin:0!important;padding:0 5px 0 0!important;font-weight:600!important;white-space:normal!important}
  .cpops-cart-item dl.variation dd{display:inline!important;float:none!important;width:auto!important;margin:0!important;padding:0!important;color:#444!important;white-space:normal!important;overflow-wrap:anywhere}
  .cpops-cart-item dl.variation dd::after{content:"";display:block;margin-bottom:3px}
}


/* ===== sticky header + category nav as one unit ===== */
.header-stack{position:sticky;top:0;z-index:100}
.header-stack .site-header{position:static;z-index:auto}

/* ===== Collectie submenu: desktop dropdown + mobile expanded (added 2026-08-23) ===== */
.site-nav__list li.menu-item-has-children{position:relative}
.site-nav__list li.menu-item-has-children > a::before{content:"\25BE";font-size:10px;margin-right:5px;color:var(--accent)}
.site-nav__list .sub-menu{list-style:none;margin:0;position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#fff;box-shadow:var(--shadow-lg);border-radius:var(--radius);padding:8px 0;min-width:220px;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:150}
.site-nav__list li.menu-item-has-children:hover > .sub-menu,
.site-nav__list li.menu-item-has-children:focus-within > .sub-menu{opacity:1;visibility:visible}
.site-nav__list .sub-menu li a{display:block;padding:9px 18px;font-size:14px;white-space:nowrap}
.site-nav__list .sub-menu li a::after{display:none}
.site-nav__list .sub-menu li a:hover{background:var(--light-bg)}
@media(max-width:1023px){
  .site-nav__list .sub-menu{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;min-width:0;padding:0 0 4px 14px;border-left:2px solid #f0e6cf;margin:0 0 8px;border-radius:0}
  .site-nav__list .sub-menu li a{padding:10px 0;font-size:15px;border-bottom:none;white-space:normal}
  .site-nav__list li.menu-item-has-children > a::before{content:"\25BE"}
}

/* ===== mobile nav drawer: fix stacking + backdrop (added 2026-08-23) ===== */
@media(max-width:1023px){
  body.nav-open .header-stack{z-index:1000001}
  body.nav-open::before{content:"";position:fixed;inset:0;background:rgba(21,26,48,.5);z-index:1000000}
  body.nav-open{overflow:hidden}
}

/* ===== Promo banner: 40% korting + weekly countdown (added 2026-08-24) ===== */
.promo-banner{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--accent);color:var(--primary);min-height:38px;padding:6px 12px;font-family:var(--font-heading);font-size:13px;font-weight:500;line-height:1.2;text-align:center;flex-wrap:wrap}
.promo-banner:hover{background:var(--accent-hover);color:var(--primary)}
.promo-banner strong{font-weight:700;letter-spacing:.3px}
.promo-banner__timer{display:inline-flex;align-items:center;gap:5px;background:rgba(37,45,81,.14);border-radius:4px;padding:3px 8px;font-weight:600;font-size:12.5px;font-variant-numeric:tabular-nums}
@media(min-width:768px){.promo-banner{font-size:14px}.promo-banner__timer{font-size:13px}}

/* ===== shop filter UI (.csf) — mobile-first bottom sheet + desktop dropdown (rebuilt 2026-09-10) ===== */
.csf{position:relative;margin:16px 0 20px}

/* action row */
.csf-bar{display:flex;align-items:center;justify-content:space-between;gap:10px}
.csf-filterwrap{position:relative}
.csf-open{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;background:#252d51;color:#fff;border:none;border-radius:6px;font-family:'Kanit',sans-serif;font-weight:600;font-size:14px;line-height:1;cursor:pointer;transition:background .2s}
.csf-open:hover{background:#1c2340;color:#fff}
.csf-open svg{flex:0 0 auto}
.csf-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#ddac4a;color:#252d51;border-radius:999px;font-size:12px;font-weight:700;line-height:1}
.csf[data-active="0"] .csf-badge{display:none}

/* sort control */
.csf-sort{display:flex;align-items:center;flex:0 0 auto}
.csf-sort .woocommerce-ordering{margin:0}
.csf-sort select,.csf-sort .orderby{min-height:44px;max-width:190px;padding:0 34px 0 14px;border:1.5px solid #e5e5e5;border-radius:6px;background-color:#fff;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="%23252d51" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>');background-repeat:no-repeat;background-position:right 12px center;font-family:'Kanit',sans-serif;font-size:13px;font-weight:500;color:#252d51;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}
.csf-sort select:focus,.csf-sort .orderby:focus{outline:none;border-color:#ddac4a}

/* quick category pills */
.csf-pills{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:12px;padding-bottom:4px;scrollbar-width:none}
.csf-pills::-webkit-scrollbar{display:none}
.csf-pill{flex:0 0 auto;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1.5px solid #e5e5e5;border-radius:999px;background:#fff;color:#333;font-size:13px;font-weight:500;text-decoration:none;white-space:nowrap;transition:all .15s}
.csf-pill:hover{border-color:#ddac4a;color:#252d51}
.csf-pill.is-active{background:#252d51;border-color:#252d51;color:#fff;font-weight:600}

/* active-filter chips */
.csf-active{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.csf-chip{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 8px 0 13px;background:#f3f4f8;border:1px solid #e0e3ee;border-radius:999px;color:#252d51;font-size:13px;text-decoration:none;transition:background .15s}
.csf-chip:hover{background:#e8eaf3;color:#252d51}
.csf-chip__x{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#252d51;color:#fff;font-size:14px;line-height:1}
.csf-clearlink{margin-left:2px;font-size:13px;font-weight:600;color:#c99a3a;text-decoration:underline}
.csf-clearlink:hover{color:#ddac4a}

/* backdrop */
.csf-backdrop{position:fixed;inset:0;background:rgba(21,26,48,.5);z-index:1000040;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.csf.is-open .csf-backdrop{opacity:1;visibility:visible}

/* sheet / panel */
.csf-sheet{position:fixed;left:0;right:0;bottom:0;z-index:1000050;display:flex;flex-direction:column;max-height:88vh;background:#fff;border-radius:16px 16px 0 0;box-shadow:0 -8px 30px rgba(0,0,0,.18);transform:translateY(100%);visibility:hidden;transition:transform .3s cubic-bezier(.32,.72,0,1),visibility .3s}
.csf.is-open .csf-sheet{transform:translateY(0);visibility:visible}
.csf-sheet__handle{width:40px;height:4px;margin:10px auto 4px;border-radius:2px;background:#d5d8e2}
.csf-sheet__head{display:flex;align-items:center;justify-content:space-between;padding:6px 20px 12px;border-bottom:1px solid #eee}
.csf-sheet__title{margin:0;font-family:'Kanit',sans-serif;font-size:18px;font-weight:600;color:#252d51}
.csf-close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin-right:-8px;border:none;background:none;color:#252d51;border-radius:8px;cursor:pointer}
.csf-close:hover{background:#f3f4f8}
.csf-sheet__body{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:18px 20px}
.csf-sheet__foot{display:flex;gap:12px;padding:14px 20px;border-top:1px solid #eee;background:#fff}

/* fields */
.csf-field{margin-bottom:22px}
.csf-field:last-child{margin-bottom:0}
.csf-field__label{display:block;margin-bottom:10px;font-family:'Kanit',sans-serif;font-size:13px;font-weight:600;color:#252d51}
.csf-catlist{display:flex;flex-wrap:wrap;gap:8px}
.csf-catlink{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:1.5px solid #e5e5e5;border-radius:999px;background:#fff;color:#333;font-size:13px;text-decoration:none;transition:all .15s}
.csf-catlink:hover{border-color:#ddac4a;color:#252d51}
.csf-catlink.is-active{background:#252d51;border-color:#252d51;color:#fff;font-weight:600}
.csf-catlink__count{font-size:11px;color:#999;background:#f5f5f5;padding:1px 7px;border-radius:10px;min-width:18px;text-align:center}
.csf-catlink.is-active .csf-catlink__count{background:rgba(255,255,255,.22);color:#fff}
.csf-price{display:flex;align-items:center;gap:10px}
.csf-input{display:flex;align-items:center;flex:1 1 0;min-width:0;min-height:44px;padding:0 12px;border:1.5px solid #e5e5e5;border-radius:6px;background:#fff}
.csf-input:focus-within{border-color:#ddac4a}
.csf-input__pre{margin-right:6px;color:#999;font-size:14px}
.csf-input__post{margin-left:6px;color:#999;font-size:13px}
.csf-input input{width:100%;min-width:0;padding:0;border:none;outline:none;background:transparent;font-size:16px;color:#252d51}
.csf-price__dash{color:#ccc}
.csf-input--wide{max-width:100%}
.csf-hint{margin:8px 0 0;font-size:12px;line-height:1.4;color:#666}

/* footer buttons */
.csf-apply{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;background:#ddac4a;color:#252d51;border:none;border-radius:6px;font-family:'Kanit',sans-serif;font-weight:700;font-size:15px;cursor:pointer;transition:background .2s}
.csf-apply:hover{background:#c99a3a}
.csf-clear{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;background:#fff;color:#252d51;border:1.5px solid #e5e5e5;border-radius:6px;font-family:'Kanit',sans-serif;font-weight:600;font-size:14px;text-decoration:none;transition:border-color .15s}
.csf-clear:hover{border-color:#252d51;color:#252d51}

/* shop controls (result count) */
.shop-controls{margin:8px 0 18px;color:#666;font-size:14px}
.shop-controls .woocommerce-result-count{margin:0}

/* sr-only helper (safe if theme lacks it) */
.csf .screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* body scroll-lock while the bottom sheet is open (mobile only) */
@media(max-width:1023px){body.csf-lock{overflow:hidden}}

/* ===== desktop: dropdown panel instead of bottom sheet ===== */
@media(min-width:1024px){
  .csf-backdrop{display:none}
  .csf-bar{gap:14px}
  .csf-pills{flex-wrap:wrap;overflow:visible;margin-top:14px}
  .csf-sheet{position:absolute;top:calc(100% + 12px);left:0;right:auto;bottom:auto;width:440px;max-width:92vw;max-height:none;border-radius:12px;box-shadow:0 12px 34px rgba(0,0,0,.16);transform:translateY(-8px);opacity:0;transition:opacity .18s,transform .18s,visibility .18s}
  .csf.is-open .csf-sheet{transform:translateY(0);opacity:1}
  .csf-sheet__handle{display:none}
  .csf-sheet::before{content:"";position:absolute;top:-6px;left:26px;width:12px;height:12px;background:#fff;border-radius:2px;transform:rotate(45deg)}
  .csf-sheet__head{padding:14px 20px 12px}
  .csf-sheet__body{max-height:min(60vh,520px)}
}
