.vlsb-wrap{--vlsb-border:#e6e6e6;--vlsb-muted:#6b7280;max-width:1100px}.vlsb-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin:0 0 20px}.vlsb-hero h2{margin:0 0 6px}.vlsb-hero p{margin:0}.vlsb-badge{background:#f2f7f2;border:1px solid #dbe9db;border-radius:999px;padding:8px 12px;font-size:13px;white-space:nowrap}.vlsb-grid{display:grid;gap:12px}.vlsb-status{grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 18px}.vlsb-card,.vlsb-panel{background:#fff;border:1px solid var(--vlsb-border);border-radius:10px}.vlsb-card{padding:16px}.vlsb-card span{display:block;color:var(--vlsb-muted);font-size:12px;margin-bottom:5px}.vlsb-card strong{font-size:16px}.vlsb-panel{padding:18px;margin:0 0 18px}.vlsb-callout{background:#fbfbf7}.vlsb-panel h3{margin-top:0}.vlsb-muted{color:var(--vlsb-muted)}.vlsb-context-grid,.vlsb-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.vlsb-field{display:flex;flex-direction:column;gap:6px}.vlsb-field span{font-weight:600}.vlsb-field input,.vlsb-field select{width:100%;min-height:42px}.vlsb-field small{color:var(--vlsb-muted)}.vlsb-field-wide{grid-column:1/-1}.vlsb-basket-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.vlsb-basket-head h3{margin-bottom:4px}.vlsb-total{font-size:24px;font-weight:700;white-space:nowrap}.vlsb-items{border-top:1px solid var(--vlsb-border);margin-top:14px}.vlsb-item{display:grid;grid-template-columns:72px minmax(180px,1fr) 90px minmax(180px,260px) 100px;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--vlsb-border)}.vlsb-item.is-removed{opacity:.55}.vlsb-thumb img{width:64px;height:64px;object-fit:cover;border-radius:7px}.vlsb-item-main strong{display:block;margin-bottom:5px}.vlsb-price{color:var(--vlsb-muted);font-size:12px;margin-top:5px}.vlsb-reasons{display:flex;gap:5px;flex-wrap:wrap}.vlsb-reasons span{background:#f5f5f5;border-radius:999px;padding:3px 7px;font-size:11px}.vlsb-qty label{font-size:11px;color:var(--vlsb-muted);display:block}.vlsb-qty input{width:72px}.vlsb-line-total{text-align:right;font-weight:600}.vlsb-inline-form{display:flex;gap:6px;align-items:center}.vlsb-inline-form select{min-width:0;max-width:170px}.vlsb-actions,.vlsb-primary-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.vlsb-primary-actions{padding-top:16px;border-top:1px solid var(--vlsb-border)}.vlsb-start{margin-top:18px;padding:16px;border-radius:8px;background:#f7faf7}.vlsb-start h4{margin-top:0}.vlsb-profile-edit summary{cursor:pointer}.vlsb-profile-edit .vlsb-panel{border:0;padding:18px 0 0;margin:0}.vlsb-wrap .button.alt{font-weight:600}.vlsb-wrap .woocommerce-message,.vlsb-wrap .woocommerce-info,.vlsb-wrap .woocommerce-error{margin-bottom:18px}
@media(max-width:900px){.vlsb-status{grid-template-columns:repeat(2,1fr)}.vlsb-context-grid,.vlsb-profile-grid{grid-template-columns:repeat(2,1fr)}.vlsb-item{grid-template-columns:60px 1fr 80px}.vlsb-swap{grid-column:2/4}.vlsb-line-total{grid-column:3;text-align:right}.vlsb-thumb img{width:52px;height:52px}}
@media(max-width:600px){.vlsb-hero{display:block}.vlsb-badge{display:inline-block;margin-top:12px}.vlsb-status,.vlsb-context-grid,.vlsb-profile-grid{grid-template-columns:1fr}.vlsb-field-wide{grid-column:auto}.vlsb-item{grid-template-columns:52px 1fr;align-items:start}.vlsb-qty,.vlsb-swap,.vlsb-line-total{grid-column:2}.vlsb-line-total{text-align:left}.vlsb-basket-head{display:block}.vlsb-total{margin-top:8px}}

.vlsb-swap{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.vlsb-remove{white-space:nowrap}.vlsb-action-help{display:block;color:var(--vlsb-muted);margin-top:5px;max-width:260px}.vlsb-primary-actions form{display:flex;flex-direction:column;align-items:flex-start}

/* Productpagina: seizoenskalender */
.vlsb-season-calendar{--vlsb-season-available:#dff0e6;--vlsb-season-best:#4da98b;--vlsb-season-border:#dfe7e2;margin:18px 0 20px;padding:14px 16px;border:1px solid var(--vlsb-season-border);border-radius:10px;background:#fff;max-width:680px}.vlsb-season-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.vlsb-season-header strong{font-size:15px}.vlsb-season-status{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:600;background:#f3f4f4;color:#606665}.vlsb-season-status.is-available{background:var(--vlsb-season-available);color:#25654f}.vlsb-season-status.is-best{background:var(--vlsb-season-best);color:#fff}.vlsb-season-legend{display:flex;gap:14px;flex-wrap:wrap;margin:0 0 9px;font-size:11px;color:#6b7280}.vlsb-season-legend span{display:inline-flex;align-items:center;gap:5px}.vlsb-season-key{display:inline-block;width:10px;height:10px;border-radius:3px;background:#f0f1f1;border:1px solid #e0e2e1}.vlsb-season-key.is-available{background:var(--vlsb-season-available);border-color:#c7e1d2}.vlsb-season-key.is-best{background:var(--vlsb-season-best);border-color:var(--vlsb-season-best)}.vlsb-season-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px}.vlsb-season-month{position:relative;display:flex;min-width:0;min-height:38px;align-items:center;justify-content:center;flex-direction:column;border:1px solid #e7e9e8;border-radius:6px;background:#f7f8f7;color:#9aa09e;font-size:10px;font-weight:600;line-height:1.1}.vlsb-season-month.is-available{background:var(--vlsb-season-available);border-color:#c7e1d2;color:#28644f}.vlsb-season-month.is-best{background:var(--vlsb-season-best);border-color:var(--vlsb-season-best);color:#fff}.vlsb-season-month.is-current{box-shadow:0 0 0 2px rgba(0,0,0,.12);z-index:1}.vlsb-season-month small{display:block;margin-top:2px;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.vlsb-season-month-label{white-space:nowrap}
@media(max-width:760px){.vlsb-season-months{grid-template-columns:repeat(6,minmax(0,1fr))}.vlsb-season-month{min-height:40px}}
@media(max-width:420px){.vlsb-season-calendar{padding:12px}.vlsb-season-header{align-items:flex-start;flex-direction:column}.vlsb-season-months{grid-template-columns:repeat(4,minmax(0,1fr))}}
