/* Aanvulling op de bestaande PLP-stijl: dynamische filtergroepen, aantallen, breadcrumbs en subcategorielinks. */
/* Grote productfoto's (w=3000) mogen de kolommen niet oprekken. */
.plp-main{grid-template-columns:minmax(0,1fr)}
.plp-main>*,.plp-s1-grid>*{min-width:0}
.plp-s1-media img{max-width:100%}
/* Volledige productfoto binnen een vaste kaartverhouding (4:3), zonder bijsnijden. */
.plp-s1-media{background:#fff}
.plp-s1-media img{object-fit:contain;padding:.6rem;background:#fff}
.plp-page-numbers{flex-wrap:wrap}
.plp-page-gap{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;color:var(--muted,#76695b)}
.plp-facet-groups{display:grid;gap:.9rem}
.plp-facet-groups:empty{display:none}
.plp-option-list .plp-count{color:var(--muted,#76695b);font-size:.82em;font-variant-numeric:tabular-nums}
/* Filtercheckboxen: vaste box met vinkje, label links en aantal rechts uitgelijnd. */
.plp-filters .plp-option-list label{grid-template-columns:20px minmax(0,1fr) auto;column-gap:.7rem}
.plp-filters .plp-option-list label:has(input:checked) .plp-option-label{font-weight:700}
.plp-filters .plp-option-list input[type="checkbox"]{width:20px;height:20px;border:1.5px solid #a88b5c;border-radius:4px;background:#fff center/14px 14px no-repeat;box-shadow:none;transition:background-color .14s ease,border-color .14s ease}
.plp-filters .plp-option-list label:hover input[type="checkbox"]:not(:checked){border-color:var(--gold-deep,#a87f3c);background-color:var(--cream,#fff9ec)}
.plp-filters .plp-option-list input[type="checkbox"]:checked{border-color:var(--gold-deep,#a87f3c);background-color:var(--gold-deep,#a87f3c);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");background-size:14px 14px;box-shadow:none}
.plp-filters .plp-option-list .plp-count{justify-self:end;padding-left:.5rem}
/* Filtergroepen als lijst met scheidingslijnen in plaats van knoppen. */
.plp-filters .plp-facet-groups{gap:0;border-top:1px solid var(--line,#e7ddcf)}
.plp-filters .plp-filter-group{gap:0;border-bottom:1px solid var(--line,#e7ddcf);transition:border-color .16s ease}
.plp-filters .plp-filter-group:has(>.plp-accordion-toggle:hover){border-bottom-color:var(--gold,#c39a54)}
.plp-filters .plp-accordion-toggle,.plp-filters .plp-accordion-toggle:hover,.plp-filters .plp-accordion-toggle[aria-expanded="true"]{min-height:54px;padding:.85rem 2rem .85rem 0;gap:.35rem;border:0;border-radius:0;background:transparent;color:var(--ink,#241b14);font:700 1.02rem/1.3 var(--font-ui,'Segoe UI',system-ui,-apple-system,sans-serif);letter-spacing:0;text-transform:none}
.plp-filters .plp-accordion-toggle::after{right:.3rem;width:.5rem;height:.5rem}
.plp-filters .plp-option-list,.plp-filters .plp-price-controls{padding-bottom:.9rem}
.plp-filters .plp-option-list label{padding:.3rem 0}
.plp-filters .plp-option-list label:hover{background:transparent}
.plp-facet-count{font-variant-numeric:tabular-nums}
/* Kleurfilter: ronde kleurstaal i.p.v. checkbox, vinkje rechts bij selectie. */
.plp-filters .plp-swatch-list label{position:relative;grid-template-columns:30px minmax(0,1fr) auto}
.plp-filters .plp-option-list input.plp-swatch-input[type="checkbox"]{position:absolute;inset:auto;width:1px;height:1px;margin:0;padding:0;border:0;opacity:0;pointer-events:none}
.plp-swatch{width:24px;height:24px;margin-left:4px;border-radius:50%;background:var(--swatch,#fff);box-shadow:inset 0 0 0 1px rgba(36,27,20,.28);transition:box-shadow .14s ease}
.plp-swatch.is-transparent{background:repeating-conic-gradient(#e7ddcf 0 25%,#fff 0 50%) 50%/10px 10px}
.plp-filters .plp-swatch-list label:hover .plp-swatch{box-shadow:inset 0 0 0 1px rgba(36,27,20,.28),0 0 0 2px #fff,0 0 0 3px var(--line,#e7ddcf)}
.plp-filters .plp-swatch-list input:checked+.plp-swatch{box-shadow:inset 0 0 0 1px rgba(36,27,20,.28),0 0 0 2px #fff,0 0 0 4px var(--gold-deep,#a87f3c)}
.plp-filters .plp-swatch-list input:focus-visible+.plp-swatch{outline:2px solid var(--gold-deep,#8f6a2c);outline-offset:5px}
.plp-filters .plp-swatch-list label:has(input:checked) .plp-count{width:16px;height:16px;padding:0;overflow:hidden;color:transparent;background:#76695b;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5L19.5 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5L19.5 7'/%3E%3C/svg%3E") center/contain no-repeat}
/* Hoofdcategorieen boven de filters. */
.plp-filters .plp-filters-head b{color:#8f6a2c}
.plp-catnav{padding-bottom:1rem;border-bottom:1px solid var(--line,#e7ddcf)}
.plp-catnav-title{margin:0 0 .35rem;color:var(--ink,#241b14);font:700 1.02rem/1.3 var(--font-ui,'Segoe UI',system-ui,-apple-system,sans-serif)}
.plp-catnav ul{list-style:none;margin:0;padding:0}
.plp-catnav a{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:38px;padding:.3rem 0;color:var(--ink,#241b14);font-size:.95rem;text-decoration:none}
.plp-catnav a:hover span:first-child,.plp-catnav a:focus-visible span:first-child{color:var(--gold-deep,#a87f3c);text-decoration:underline;text-underline-offset:3px}
.plp-catnav a:focus-visible{outline:2px solid var(--gold-deep,#a87f3c);outline-offset:2px}
.plp-catnav a[aria-current]{font-weight:700}
.plp-catnav .plp-count{font-weight:400}
.plp-catnav-more{margin-top:.25rem;padding:.3rem 0;border:0;background:transparent;color:var(--ink,#241b14);font:inherit;font-size:.92rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.plp-catnav-more:hover{color:var(--gold-deep,#a87f3c)}
.plp-catnav-more:focus-visible{outline:2px solid var(--gold-deep,#a87f3c);outline-offset:2px}
@media (max-width:760px){.plp-catnav{display:none}}
.plp-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* Prijs: een schuifbalk met twee handvatten en daaronder twee velden naast elkaar. */
.plp-range{position:relative;height:28px;margin:.4rem 11px .85rem;touch-action:none;cursor:pointer;--from:0%;--to:100%}
.plp-range-track{position:absolute;left:0;right:0;top:50%;height:6px;margin-top:-3px;border-radius:999px;background:var(--line,#e7ddcf)}
.plp-range-fill{position:absolute;top:0;bottom:0;left:var(--from);right:calc(100% - var(--to));border-radius:inherit;background:var(--gold,#c39a54)}
.plp-range input[type=range]{position:absolute;top:0;left:-11px;width:calc(100% + 22px);height:28px;margin:0;padding:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}
.plp-range.is-min-top #plpMinRange{z-index:2}
.plp-range input[type=range]::-webkit-slider-runnable-track{height:28px;background:none;border:0}
.plp-range input[type=range]::-moz-range-track{background:none;border:0}
.plp-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;pointer-events:none;width:22px;height:22px;margin-top:3px;border:3px solid #fff;border-radius:50%;background:var(--gold,#c39a54);box-shadow:0 1px 4px rgba(36,27,20,.35)}
.plp-range input[type=range]::-moz-range-thumb{pointer-events:none;box-sizing:border-box;width:22px;height:22px;border:3px solid #fff;border-radius:50%;background:var(--gold,#c39a54);box-shadow:0 1px 4px rgba(36,27,20,.35)}
.plp-range input[type=range]:focus{outline:none}
.plp-range input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--gold-deep,#8f6a2c)}
.plp-range input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--gold-deep,#8f6a2c)}
.plp-price-inputs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.6rem}
.plp-price-field{position:relative;display:block;margin:0}
.plp-price-field input{display:block;width:100%;height:46px;box-sizing:border-box;padding:.5rem 2.6rem .5rem .75rem;border:1px solid var(--line,#e7ddcf);border-radius:10px;background:#fff;color:var(--ink,#241b14);font:inherit;font-size:1rem;font-variant-numeric:tabular-nums;-moz-appearance:textfield;appearance:textfield}
.plp-price-field input::-webkit-outer-spin-button,.plp-price-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.plp-price-field input:focus{outline:none;border-color:var(--gold-deep,#8f6a2c);box-shadow:0 0 0 3px rgba(195,154,84,.25)}
.plp-price-field span{position:absolute;right:.7rem;top:50%;transform:translateY(-50%);color:var(--muted,#76695b);font-size:.875rem;pointer-events:none}
.plp-price-sep{color:var(--muted,#76695b);font-size:.95rem}
/* Werkbalk boven de productgrid; op mobiel staan filteren en sorteren naast elkaar. */
.plp-headrow .plp-headrow-main{grid-column:2}
.plp-toolbar{display:flex;align-items:center;gap:.75rem;margin-left:auto}
#plpFilterBtn{align-items:center;justify-content:center;gap:.55rem;min-height:48px;margin:0;padding:.6rem 1.1rem;border:0;border-radius:8px;background:var(--gold,#c39a54);color:var(--ink,#241b14);font:700 1rem/1 var(--font-ui,'Segoe UI',system-ui,-apple-system,sans-serif);letter-spacing:0;text-transform:none;cursor:pointer;transition:background-color .16s ease}
#plpFilterBtn:hover{background:var(--gold-2,#e0bd7e)}
#plpFilterBtn:focus-visible{outline:2px solid var(--gold-deep,#8f6a2c);outline-offset:2px}
#plpFilterBtn svg{width:1.15rem;height:1.15rem;flex:none;fill:currentColor}
@media (max-width:760px){
  .plp-headrow{display:block;margin:0 0 .75rem}
  .plp-headrow .plp-headrow-main{display:flex;flex-direction:column;align-items:stretch;gap:.6rem;width:100%}
  .plp-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:100%;margin-left:0}
  .plp-toolbar #plpFilterBtn{width:100%}
  .plp-toolbar .plp-sort-label{width:100%;margin:0}
  .plp-toolbar .plp-sort-text{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .plp-toolbar .plp-sort-label select{width:100%;min-width:0;height:48px;padding:.6rem .85rem;border-radius:8px;font-size:1rem}
}
.chips .plp-chip-clear{background:transparent;border-color:transparent;color:var(--gold-deep,#a87f3c);text-decoration:underline;text-underline-offset:3px}
.chips .plp-chip-clear:hover{color:var(--ink,#241b14);border-color:transparent}
.plp-crumbs{margin:1.1rem 0 .4rem;font-size:.84rem;color:var(--muted,#76695b)}
.plp-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0}
.plp-crumbs li+li::before{content:'/';margin-right:.35rem;color:var(--line,#e7ddcf)}
.plp-crumbs a{color:var(--gold-deep,#a87f3c);text-decoration:underline;text-underline-offset:3px}
.plp-crumbs [aria-current]{color:var(--ink,#241b14)}
.plp-intro{padding:1.2rem 0 .4rem}
.plp-intro h1{margin:0 0 .35rem;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.1}
.plp-intro p{margin:0;max-width:68ch;color:var(--muted,#76695b)}
.plp-subcats{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none}
.plp-subcats a{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;padding:.45rem 1rem;border:1px solid var(--line,#e7ddcf);border-radius:999px;font-size:.88rem;font-weight:600;color:var(--ink,#241b14);background:var(--card,#fff)}
.plp-subcats a:hover,.plp-subcats a:focus-visible{border-color:var(--gold,#c39a54);color:var(--gold-deep,#a87f3c)}
.plp-subcats .plp-count{color:var(--muted,#76695b);font-weight:400}
.plp-empty{padding:1.2rem;border:1px dashed var(--line,#e7ddcf);border-radius:10px;color:var(--muted,#76695b)}
