.product-listing-page{background:#fffdfa}
.product-listing-page .header nav .active:after{right:0}
.catalogue-kicker{margin:0;color:var(--accent);font:600 10px/1.4 var(--heading);letter-spacing:.15em;text-transform:uppercase}

.shopping-assurances{border-bottom:1px solid #ded2c6;background:#fffdfa}
.shopping-assurances-inner{min-height:112px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center}
.shopping-assurances p{min-height:58px;margin:0;padding:8px 35px 8px 62px;position:relative;border-left:1px solid #ded2c6}
.shopping-assurances p:first-child{border-left:0}
.shopping-assurances p>span{position:absolute;left:24px;top:10px;color:#b49c72;font:400 22px/1 var(--display)}
.shopping-assurances b,.shopping-assurances small{display:block}
.shopping-assurances b{color:#342d29;font:600 12px/1.45 var(--heading);text-transform:uppercase;letter-spacing:.04em}
.shopping-assurances small{margin-top:5px;color:#81756c;font:400 11px/1.45 var(--body)}

.catalogue{padding:96px 0 118px;background:#fffdfa}
.catalogue-heading{display:grid;grid-template-columns:1fr 450px;align-items:end;gap:90px;margin-bottom:66px}
.catalogue-heading h2{margin:13px 0 0;color:#312925;font:400 60px/.98 var(--display)}
.catalogue-heading h2 em{color:var(--brand);font-style:italic}
.catalogue-heading>p{margin:0 0 6px;color:#625750;font:400 15px/1.78 var(--body)}
.catalogue-layout{display:grid;grid-template-columns:274px minmax(0,1fr);align-items:start;gap:44px}

.filters{position:sticky;top:24px;border-top:4px solid var(--brand);background:#f4ede4}
.filters-title{padding:27px 24px 22px;display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid #d9cec1}
.filters-title h3{margin:5px 0 0;color:#332b27;font:600 25px/1.1 var(--heading)}
.reset-filters{padding:0 0 3px;border:0;border-bottom:1px solid #9c8e82;background:transparent;color:#7a6f67;font:600 8px var(--heading);letter-spacing:.07em;text-transform:uppercase;cursor:pointer}
.filter-group{padding:0 24px;border-bottom:1px solid #d9cec1}
.filter-group summary{padding:20px 0;display:flex;align-items:center;justify-content:space-between;list-style:none;color:#403631;font:600 11px var(--heading);letter-spacing:.07em;text-transform:uppercase;cursor:pointer}
.filter-group summary::-webkit-details-marker{display:none}
.filter-group summary span{color:var(--accent);font:400 18px/1 var(--heading)}
.filter-group[open] summary span{font-size:0}
.filter-group[open] summary span:after{content:"−";font-size:18px}
.filter-group label{min-height:31px;display:grid;grid-template-columns:17px 1fr auto;align-items:center;gap:8px;position:relative;color:#625750;font:400 11px/1.35 var(--body);cursor:pointer}
.filter-group label:last-child{margin-bottom:16px}
.filter-group input{position:absolute;opacity:0;pointer-events:none}
.filter-group label>i{width:15px;height:15px;position:relative;border:1px solid #b4a79b;background:#fffdfa}
.filter-group input:checked+i{border-color:var(--brand);background:var(--brand)}
.filter-group input:checked+i:after{content:"";width:6px;height:3px;position:absolute;left:3px;top:4px;border-left:1px solid #fff;border-bottom:1px solid #fff;transform:rotate(-45deg)}
.filter-group input[type="radio"]+i{border-radius:50%}
.filter-group input[type="radio"]:checked+i:after{width:5px;height:5px;left:4px;top:4px;border:0;border-radius:50%;background:#fff;transform:none}
.filter-group label small{color:#9e9186;font:500 9px var(--heading)}
.allergen-note{margin:22px;padding:20px 19px;background:var(--brand);color:#fff}
.allergen-note b{font:600 10px var(--heading);letter-spacing:.06em;text-transform:uppercase}
.allergen-note p{margin:8px 0 12px;color:#f4e7dbd6;font:400 10px/1.55 var(--body)}
.allergen-note a{color:#f0d9a9;font:600 8px var(--heading);letter-spacing:.05em;text-transform:uppercase}
.apply-mobile-filters{display:none}

.results-toolbar{min-height:67px;padding:0 0 17px;display:grid;grid-template-columns:170px minmax(240px,1fr) 210px;align-items:end;gap:24px;border-bottom:1px solid #d9cec1}
.result-count b,.result-count span{display:block}
.result-count b{color:#352d29;font:600 15px/1.3 var(--heading)}
.result-count span{margin-top:4px;color:#8b7f76;font:400 10px var(--body)}
.product-search{height:42px;padding:0 13px;display:flex;align-items:center;border:1px solid #d7cbc0;background:#fffdfa}
.product-search input{width:100%;border:0;outline:0;background:transparent;color:#3d342f;font:400 11px var(--body)}
.product-search input::placeholder{color:#988c82}
.product-search>span{color:var(--brand);font:500 17px var(--heading)}
.sort-control>span{display:block;margin-bottom:7px;color:#8e8177;font:600 8px var(--heading);letter-spacing:.08em;text-transform:uppercase}
.sort-control select,.mobile-sort select{width:100%;height:42px;padding:0 35px 0 12px;border:1px solid #d7cbc0;border-radius:0;outline:0;background:#fffdfa;color:#493f39;font:500 10px var(--heading);appearance:auto}
.active-filters{min-height:73px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.active-filters>span{padding:8px 10px 8px 12px;display:inline-flex;align-items:center;gap:12px;background:#eee3d8;color:#584d46;font:500 9px var(--heading);letter-spacing:.03em}
.active-filters>span button{width:17px;height:17px;padding:0;border:0;border-radius:50%;background:#fffdfa;color:var(--brand);font:500 13px/15px var(--heading);cursor:pointer}
.active-filters>button{margin-left:5px;padding:0 0 3px;border:0;border-bottom:1px solid #9f9185;background:transparent;color:#80746b;font:600 8px var(--heading);text-transform:uppercase;cursor:pointer}

.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.product-card{min-width:0;display:flex;flex-direction:column;position:relative;border:1px solid #ded3c7;background:#fffdfa;transition:transform .22s ease,box-shadow .22s ease}
.product-card:hover{transform:translateY(-3px);box-shadow:0 15px 35px #452a2415}
.product-image{height:282px;padding:22px;display:block;position:relative;overflow:hidden;background:transparent}
.product-image:after{content:"Bekijk";width:58px;height:58px;display:grid;place-items:center;position:absolute;right:15px;bottom:15px;border-radius:50%;background:#fffdfae8;color:var(--brand);font:600 8px var(--heading);letter-spacing:.06em;text-transform:uppercase;opacity:0;transform:translateY(5px);transition:.22s ease}
.product-card:hover .product-image:after{opacity:1;transform:none}
.product-image img{height:100%;object-fit:contain;filter:drop-shadow(0 13px 10px #3e241a24);transition:transform .3s ease}
.product-card:hover .product-image img{transform:scale(1.035)}
.product-heart{width:36px;height:36px;padding:0;display:grid;place-items:center;position:absolute;z-index:4;right:15px;top:15px;border:1px solid #ded2c6;border-radius:50%;background:#fffdfae8;color:#5a3036;cursor:pointer;box-shadow:0 6px 16px #4b2d2512;transition:.2s ease}
.product-heart .heart-icon{font:400 19px/1 Arial,sans-serif;transform:translateY(1px)}
.product-heart:hover{border-color:#5a3036;background:#fff}
.product-heart.is-favorite{border-color:#5a3036;background:#5a3036;color:#fff}
.product-badge{position:absolute;z-index:2;left:14px;top:14px;padding:7px 9px;background:var(--brand);color:#fff;font:600 7px var(--heading);letter-spacing:.1em;text-transform:uppercase}
.product-card-body{padding:21px 19px 18px;display:flex;flex:1;flex-direction:column}
.product-type{margin:0;color:#9c815c;font:600 8px/1.4 var(--heading);letter-spacing:.1em;text-transform:uppercase}
.product-card h3{min-height:44px;margin:7px 0 7px;color:#342c28;font:600 18px/1.22 var(--heading)}
.stock{margin:0;display:flex;align-items:center;gap:6px;color:#6c7b5d;font:500 9px var(--heading)}
.stock i{width:6px;height:6px;border-radius:50%;background:#799067}
.price-row{margin-top:17px;display:flex;align-items:baseline;gap:4px}
.price-row strong{color:var(--brand);font:600 20px/1 var(--heading)}
.price-row small{color:#867a71;font:400 10px var(--body)}
.quick-order{margin-top:17px;display:grid;grid-template-columns:1fr 1.08fr;gap:7px}
.quantity{height:39px;display:grid;grid-template-columns:28px 1fr 28px;border:1px solid #d8ccc1;background:#fffdfa}
.quantity button{padding:0;border:0;background:transparent;color:#6b5f57;font:500 15px var(--heading);cursor:pointer}
.quantity span{display:grid;place-items:center;border-left:1px solid #e1d7ce;border-right:1px solid #e1d7ce;color:#4c423c;font:600 9px var(--heading);white-space:nowrap}
.add-cart{height:39px;padding:0 9px;border:1px solid var(--brand);background:var(--brand);color:#fff;font:600 8px var(--heading);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:.2s ease}
.add-cart:hover,.add-cart.added{background:var(--accent);border-color:var(--accent)}
.pagination{min-height:105px;margin-top:39px;display:flex;align-items:center;justify-content:flex-end;gap:7px;border-top:1px solid #ded3c7}
.pagination button{height:38px;min-width:38px;padding:0 12px;border:1px solid #d8ccc0;background:#fffdfa;color:#635850;font:600 9px var(--heading);cursor:pointer}
.pagination button.current{border-color:var(--brand);background:var(--brand);color:#fff}
.pagination>span{margin:0 8px;color:#8b7f76;font:400 10px var(--body)}
.pagination .next{min-width:94px;color:var(--brand);text-transform:uppercase}
.pagination .next b{margin-left:10px;font-size:13px}
.mobile-catalogue-bar{display:none}

.order-help{padding:92px 0 98px;background:var(--accent);color:#fff}
.order-help-inner{display:grid;grid-template-columns:1fr .9fr;align-items:end;gap:100px}
.order-help .catalogue-kicker{color:#f1deb0}
.order-help h2{margin:13px 0 0;color:#fffaf5;font:400 58px/.98 var(--display)}
.order-help h2 em{color:#f4e4c0;font-style:italic}
.order-help-inner>div:last-child>p{margin:0;color:#fff9ecdf;font:400 15px/1.75 var(--body)}
.help-actions{margin-top:27px;display:flex;align-items:center;gap:28px}
.help-actions a{padding-bottom:6px;border-bottom:1px solid #f3dfb2;color:#fffdf8;font:600 9px var(--heading);letter-spacing:.06em;text-transform:uppercase}
.help-actions a span{margin-left:22px;font-size:14px}
.help-actions a:last-child{border-bottom-color:#ffffff75}

@media(max-width:1180px){
  .catalogue-layout{grid-template-columns:250px minmax(0,1fr);gap:28px}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .results-toolbar{grid-template-columns:140px 1fr 190px;gap:14px}
}

@media(max-width:900px){
  .shopping-assurances-inner{grid-template-columns:1fr 1fr}
  .shopping-assurances p:nth-child(3){grid-column:1/-1;border-top:1px solid #ded2c6}
  .catalogue-heading,.order-help-inner{grid-template-columns:1fr;gap:28px}
  .catalogue-heading>p,.order-help-inner>div:last-child{max-width:680px}
  .catalogue-layout{grid-template-columns:1fr}
  .mobile-catalogue-bar{margin-bottom:20px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .mobile-filter-button,.mobile-sort{height:48px;border:1px solid #d7cbc0;background:#fffdfa}
  .mobile-filter-button{padding:0 14px;display:flex;align-items:center;gap:11px;color:#4f453f;font:600 10px var(--heading);letter-spacing:.04em;text-transform:uppercase}
  .mobile-filter-button i{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--brand);color:#fff;font:normal 8px var(--heading)}
  .filter-lines{width:17px;height:12px;position:relative;border-top:1px solid var(--brand);border-bottom:1px solid var(--brand)}
  .filter-lines:after{content:"";position:absolute;left:3px;right:3px;top:5px;border-top:1px solid var(--brand)}
  .mobile-sort{padding:5px 10px}
  .mobile-sort{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:9px;color:#8b7e75;font:600 8px var(--heading);letter-spacing:.07em;text-transform:uppercase}
  .mobile-sort select{height:36px;padding:0;border:0;text-align:right}
  .filters{display:none;position:relative;top:auto}
  .filters.is-open{display:block}
  .apply-mobile-filters{width:calc(100% - 44px);height:46px;margin:0 22px 22px;display:block;border:0;background:var(--brand);color:#fff;font:600 9px var(--heading);letter-spacing:.07em;text-transform:uppercase}
  .results-toolbar{grid-template-columns:145px 1fr}
  .sort-control{display:none}
  .order-help{padding:78px 0 84px}
}

@media(max-width:620px){
  .shopping-assurances{display:none}
  .catalogue{padding:68px 0 80px}
  .catalogue-heading{margin-bottom:38px}
  .catalogue-heading h2{font-size:46px}
  .catalogue-heading>p{font-size:14px;line-height:1.7}
  .mobile-catalogue-bar{grid-template-columns:.82fr 1.18fr}
  .results-toolbar{min-height:58px;grid-template-columns:1fr;padding-bottom:15px}
  .result-count{display:flex;align-items:baseline;gap:7px}
  .result-count span{margin:0}
  .product-search{display:none}
  .active-filters{min-height:62px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .active-filters::-webkit-scrollbar{display:none}
  .active-filters>span,.active-filters>button{flex:0 0 auto}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .product-image{height:180px;padding:14px}
  .product-image:after{display:none}
  .product-card-body{padding:15px 12px 12px}
  .product-type{font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .product-card h3{min-height:38px;margin-top:6px;font-size:15px}
  .stock{font-size:8px}
  .price-row{margin-top:13px}
  .price-row strong{font-size:17px}
  .quick-order{grid-template-columns:1fr;margin-top:12px}
  .quantity{display:none}
  .add-cart{height:38px;font-size:8px}
  .pagination{min-height:90px;margin-top:29px;justify-content:center}
  .pagination .next{min-width:86px}
  .order-help h2{font-size:45px}
  .order-help-inner>div:last-child>p{font-size:14px}
  .help-actions{align-items:flex-start;flex-direction:column;gap:18px}
}

@media(max-width:390px){
  .product-image{height:164px}
  .product-card h3{font-size:14px}
}
