/* SSE Configurator 1.2 – stappen, stalen, prijssamenvatting, kaarten. Gebruikt de globale Elementor-kleuren. */
.sse-configurator{--sse-accent:var(--e-global-color-accent,#FBB900);--sse-dark:var(--e-global-color-primary,#09283C);--sse-border:#E3E6EA;--sse-soft:#F6F7F9;--sse-radius:12px;margin:0 0 1rem;font-size:15px}
.sse-group{border:1px solid var(--sse-border);border-radius:var(--sse-radius);margin-bottom:10px;background:#fff;overflow:hidden}
.sse-group.is-done{border-color:#C9D3DB}
.sse-group__head{display:grid;grid-template-columns:32px 1fr auto 20px;align-items:center;gap:12px;width:100%;padding:14px 16px;background:var(--sse-soft);border:0;text-align:left;cursor:pointer;font:inherit;color:var(--sse-dark)}
.sse-group.is-open>.sse-group__head{background:#fff;border-bottom:1px solid var(--sse-border)}
.sse-group__head:focus-visible{outline:3px solid var(--sse-accent);outline-offset:-3px}
.sse-group__num{width:32px;height:32px;border-radius:50%;background:var(--sse-dark);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:14px}
.sse-group.is-done>.sse-group__head .sse-group__num{background:#1E7F4F}
.sse-group__title{font-weight:700;font-size:16px}
.sse-group__req{display:block;font-weight:500;font-size:12px;color:#B45309}
.sse-group__sum{font-size:13px;color:#4B5563;text-align:right;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sse-group__chev{width:10px;height:10px;border-right:2px solid var(--sse-dark);border-bottom:2px solid var(--sse-dark);transform:rotate(45deg);transition:transform .15s}
.sse-group.is-open .sse-group__chev{transform:rotate(-135deg)}
.sse-group__body{padding:16px}
.sse-group__desc{font-size:14px;color:#4B5563;margin-bottom:10px}
.sse-field{border:0;padding:0;margin:0 0 14px;min-width:0}
.sse-field__label{font-weight:600;margin-bottom:8px;display:block;font-size:14px}
.sse-field__desc{font-size:13px;color:#4B5563;margin-bottom:6px}
.sse-req{color:#D70F0F}
.sse-options{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:600px){.sse-options--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sse-options--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sse-options--cols-5,.sse-options--cols-6{grid-template-columns:repeat(4,minmax(0,1fr))}}
.sse-options--chips{display:flex;flex-wrap:wrap}
.sse-options--chips .sse-opt{flex:0 0 auto}
.sse-options--chips .sse-opt__body{min-height:40px;padding:8px 14px;flex-direction:row;gap:8px;border-radius:999px}
.sse-options--swatch{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(min-width:600px){.sse-options--swatch{grid-template-columns:repeat(6,minmax(0,1fr))}}
.sse-field--many .sse-options>.sse-opt:nth-child(n+13){display:none}
.sse-field--many.is-expanded .sse-options>.sse-opt{display:block}
.sse-more{margin-top:8px;background:none;border:0;color:var(--sse-dark);font-weight:600;text-decoration:underline;cursor:pointer;padding:4px 0;font:inherit}
.sse-opt{position:relative;display:block;margin:0;cursor:pointer}
.sse-opt input{position:absolute;opacity:0;width:1px;height:1px}
.sse-opt__body{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:54px;padding:10px 8px;border:2px solid var(--sse-border);border-radius:10px;text-align:center;background:#fff;transition:border-color .15s,box-shadow .15s}
.sse-opt input:checked+.sse-opt__body{border-color:var(--sse-dark);box-shadow:0 0 0 2px var(--sse-accent) inset;background:#FFFDF5}
.sse-opt input:focus-visible+.sse-opt__body{outline:3px solid var(--sse-accent);outline-offset:2px}
.sse-opt__body:hover{border-color:#9CA3AF}
.sse-opt__label{font-weight:500;line-height:1.25;font-size:14px}
.sse-opt__price{font-size:12px;color:#374151;font-weight:600}
.sse-opt__price--incl{color:#1E7F4F;font-weight:500}
.sse-opt--swatch .sse-opt__body{padding:4px;gap:4px;min-height:0}
.sse-opt--swatch .sse-opt__label{font-size:11px;line-height:1.15;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sse-opt__img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:6px}
.sse-opt__hex{width:40px;height:40px;border-radius:50%;border:1px solid rgba(0,0,0,.15)}
.sse-select,.sse-text{width:100%;min-height:44px;padding:.5rem .75rem;border:1px solid #9CA3AF;border-radius:8px;font:inherit}
.sse-group__nav{display:flex;justify-content:flex-end;margin-top:4px}
.sse-btn{min-height:42px;padding:.5rem 1.1rem;border-radius:8px;border:1px solid var(--sse-dark);background:var(--sse-dark);color:#fff;font-weight:600;cursor:pointer;font:inherit}
.sse-btn:focus-visible{outline:3px solid var(--sse-accent);outline-offset:2px}
.sse-configurator__summary{border:1px solid var(--sse-border);border-radius:var(--sse-radius);padding:12px 14px;margin:6px 0 10px;font-size:13.5px;background:#fff}
.sse-configurator__summary h4{margin:0 0 6px;font-size:14px}
.sse-configurator__summary ul{list-style:none;margin:0;padding:0}
.sse-configurator__summary li{display:flex;justify-content:space-between;gap:12px;padding:3px 0;border-bottom:1px dashed #EEF0F3}
.sse-pricebox{background:var(--sse-soft);border-radius:var(--sse-radius);padding:12px 14px 0;margin:0 0 10px}
.sse-pricebox__row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;color:#374151}
.sse-configurator__total{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;margin:0 -14px;background:var(--sse-dark);color:#fff;border-radius:0 0 var(--sse-radius) var(--sse-radius);font-size:15px;font-weight:600}
.sse-configurator__total-amount{font-size:1.5rem;font-weight:800;color:#fff}
.sse-configurator__status{font-size:13px;color:#4B5563;margin:6px 0}
.sse-configurator__errors ul{margin:.5rem 0 0;padding:.6rem .9rem;border-left:4px solid #D70F0F;background:#FFF5F5;list-style:none;color:#7F1D1D}
.sse-configurator__errors:empty{display:none}
.single_add_to_cart_button.sse-incomplete{opacity:.9}
.sse-edit-link{display:inline-block;margin-left:.5rem;font-size:.85rem;text-decoration:underline}
.sse-price-label{font-size:.8em;color:#4B5563;margin-right:.25rem}
/* 1.2: voortgang, verborgen veldlabel (gelijk aan staptitel), info-knop en infoblok per optie */
.sse-progress{height:6px;border-radius:999px;background:#E9ECF0;overflow:hidden;margin:0 0 6px}
.sse-progress__bar{display:block;height:100%;background:var(--sse-accent);border-radius:999px;transition:width .25s}
.sse-progress__text{font-size:12.5px;color:#4B5563;margin:0 0 12px}
.sse-field__label--sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0}
.sse-opt--hasinfo .sse-opt__body{padding-right:30px}
.sse-opt--swatch.sse-opt--hasinfo .sse-opt__body{padding-right:4px}
/* !important: de Elementor-kit stijlt alle <button>-elementen (geel, padding); dat mag hier niet doorwerken */
.sse-opt__info{position:absolute!important;top:6px!important;right:6px!important;left:auto!important;z-index:2;width:24px!important;height:24px!important;min-height:0!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:#fff!important;color:var(--sse-dark)!important;display:inline-flex!important;align-items:center;justify-content:center;line-height:1!important;font-size:0!important;cursor:pointer;box-shadow:0 0 0 1px var(--sse-border)!important;opacity:.85;transition:opacity .15s,background .15s,color .15s;transform:none!important}
.sse-opt__info svg{width:16px;height:16px;flex:0 0 16px}
.sse-opt--swatch .sse-opt__info{top:4px!important;right:4px!important;width:22px!important;height:22px!important}
.sse-opt__info:hover,.sse-opt__info:focus-visible,.sse-opt__info[aria-expanded="true"]{opacity:1;background:var(--sse-dark)!important;color:#fff!important;box-shadow:none!important;outline:0}
.sse-opt__info:focus-visible{outline:3px solid var(--sse-accent)!important;outline-offset:1px}
.sse-field__info-close{border:0!important;background:none!important;padding:0 2px!important;min-height:0!important;color:var(--sse-dark)!important;font:inherit!important;font-size:22px!important;line-height:1!important;cursor:pointer;border-radius:4px!important}
.sse-opt.is-info-open .sse-opt__body{border-color:var(--sse-dark)}
.sse-field__info{margin:10px 0 0;padding:12px 14px;border:1px solid var(--sse-border);border-left:4px solid var(--sse-accent);border-radius:10px;background:#FFFDF5;font-size:14px;line-height:1.55;color:#374151}
.sse-field__info:focus{outline:0}
.sse-field__info-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 4px;color:var(--sse-dark)}
.sse-field__info-body p{margin:0 0 .5em}.sse-field__info-body p:last-child{margin:0}
.sse-configurator__status.is-ready{color:#1E7F4F;font-weight:600}
.sse-group{scroll-margin-top:120px}

/* Kaarten (loop items) */
.sse-badge{display:inline-block;background:var(--e-global-color-primary,#09283C);color:#fff;font-weight:700;font-size:12px;padding:5px 10px;border-radius:6px;letter-spacing:.01em}
.sse-badge--sale{background:var(--e-global-color-accent,#FBB900);color:#09283C}
.sse-usps{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.sse-usps li{position:relative;padding-left:22px;font-size:14px;color:#374151;line-height:1.35}
.sse-usps li::before{content:"";position:absolute;left:0;top:5px;width:12px;height:7px;border-left:2.5px solid #1E7F4F;border-bottom:2.5px solid #1E7F4F;transform:rotate(-45deg)}
.sse-price{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}
.sse-price__label{font-size:12px;color:#6B7280;font-weight:500;margin-right:4px}
.sse-price__was{font-size:13px;color:#6B7280}
.sse-price__was .woocommerce-Price-amount{text-decoration:line-through}
.sse-price__now{font-size:22px;font-weight:800;color:#09283C}
.sse-cta{display:inline-flex;align-items:center;gap:8px;background:var(--e-global-color-accent,#FBB900);color:#09283C;font-weight:700;font-size:15px;padding:12px 20px;border-radius:10px;text-decoration:none;transition:background .15s,color .15s}
.sse-cta:hover,.sse-cta:focus-visible{background:#09283C;color:#fff}
.sse-brand{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#6B7280;font-weight:600}
.sse-levertijd{font-size:13px;color:#1E7F4F;font-weight:600}
.sse-specs-table{width:100%;border-collapse:collapse;font-size:14px}
.sse-specs-table th{text-align:left;font-weight:600;padding:8px 10px;width:40%;background:#F6F7F9}
.sse-specs-table td{padding:8px 10px}
.sse-specs-table tr{border-bottom:1px solid #EEF0F3}
@media(max-width:480px){.sse-group__head{grid-template-columns:28px 1fr 16px}.sse-group__sum{display:none}.sse-configurator__total-amount{font-size:1.3rem}}
@media(prefers-reduced-motion:reduce){.sse-opt__body,.sse-group__chev{transition:none}}

/* Subcategorie-tegels en maatkeuze (archief) */
.sse-subcats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(min-width:700px){.sse-subcats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1024px){.sse-subcats{grid-template-columns:repeat(6,minmax(0,1fr))}}
.sse-subcat{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:10px;border:1px solid #E3E6EA;border-radius:12px;background:#fff;text-decoration:none;color:#09283C;transition:box-shadow .15s,transform .15s}
.sse-subcat:hover{box-shadow:0 8px 20px rgba(9,40,60,.10);transform:translateY(-2px)}
.sse-subcat img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:8px;background:#F6F7F9}
.sse-subcat--noimg{justify-content:center;min-height:80px}
.sse-subcat__name{font-weight:700;font-size:14px;line-height:1.2}
.sse-subcat__count{font-size:12px;color:#6B7280}
.sse-sizes{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:12px}
.sse-sizes__label{font-size:13px;font-weight:600;color:#374151;margin-right:4px}
.sse-size{font-size:13px;padding:6px 10px;border:1px solid #E3E6EA;border-radius:999px;background:#fff;color:#09283C;text-decoration:none}
.sse-size:hover{border-color:#09283C}

/* Attribuutfilters [sse_filters] (WooCommerce layered nav als chips) */
.sse-wcfilters{display:flex;flex-direction:column;gap:14px}
.sse-fgroup{margin:0}
.sse-fgroup .sse-filter__label{font-size:14px;font-weight:700;color:#09283C;margin:0 0 8px}
.sse-fgroup ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.sse-fgroup li{margin:0;padding:0}
.sse-fgroup li a{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:6px 12px;border:1px solid #E3E6EA;border-radius:999px;background:#fff;color:#09283C;font-size:13px;font-weight:500;text-decoration:none;line-height:1.2}
.sse-fgroup li a:hover{border-color:#09283C}
.sse-fgroup li.chosen a{background:#09283C;border-color:#09283C;color:#fff}
.sse-fgroup li.chosen a::after{content:"×";font-weight:700;margin-left:2px}
.sse-fgroup li .count{font-size:12px;color:#6B7280}
.sse-fgroup li.chosen .count{color:#D8DEE4}
.sse-fgroup--many:not(.is-expanded) li:nth-child(n+9){display:none}
.sse-fmore{margin-top:6px;background:none;border:0;padding:2px 0;color:#09283C;font-weight:600;font-size:13px;text-decoration:underline;cursor:pointer;font-family:inherit}
.sse-fgroup--active li a{background:#FFF7DB;border-color:#FBB900}
.sse-fgroup--active li a::before{content:"×";font-weight:700}
.sse-fgroup--active .sse-filter__label{font-size:13px;color:#6B7280}
.sse-fclear{display:inline-block;margin-top:8px;font-size:13px;font-weight:600;color:#09283C;text-decoration:underline}
.sse-fprice__row{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:center}
.sse-fprice__row label{min-width:0;margin:0}
.sse-fprice__row .sse-fprice__btn{grid-column:1/-1}
@media(min-width:1400px){.sse-fprice__row{grid-template-columns:1fr 1fr auto}.sse-fprice__row .sse-fprice__btn{grid-column:auto}}
.sse-fprice__row input{width:100%;min-width:0;min-height:36px;padding:4px 8px;border:1px solid #E3E6EA;border-radius:8px;font:inherit;font-size:13px}
.sse-fprice__btn{min-height:36px;padding:0 12px;border:1px solid #09283C;border-radius:8px;background:#09283C;color:#fff;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
