/* Offertelijst — publieke kant. */
.cs-rfq-lead b{display:block;font:700 20px/1.2 Montserrat,system-ui,sans-serif;color:var(--cs-ink,#1A1A18)}
.cs-rfq-lead span{display:block;margin-top:4px;font:400 13px/1.5 Lato,system-ui,sans-serif;color:var(--cs-stone,#6F6D65);max-width:44ch}
.cs-rfq-row{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}
.cs-rfq-row.is-shake{animation:cs-shake .4s ease}
@keyframes cs-shake{0%,100%{transform:none}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.cs-rfq .cs-qty{display:inline-flex;align-items:stretch;border:1px solid var(--cs-line,#DEDCD3);border-radius:999px;overflow:hidden;background:#fff;height:52px}
.cs-rfq .cs-qty input.qty{width:64px!important;border:0!important;text-align:center;font:700 15px/1 Montserrat,system-ui,sans-serif!important;color:var(--cs-ink,#1A1A18)!important;background:transparent!important;padding:0!important;margin:0!important;-moz-appearance:textfield;box-shadow:none!important;height:auto!important}
.cs-rfq .cs-qty input::-webkit-outer-spin-button,.cs-rfq .cs-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cs-rfq .cs-qty-btn{width:44px;border:0!important;background:transparent!important;color:var(--cs-ink,#1A1A18)!important;font:400 20px/1 Montserrat,system-ui,sans-serif!important;cursor:pointer;padding:0!important;border-radius:0!important;box-shadow:none!important}
.cs-rfq .cs-qty-btn:hover{background:var(--cs-warm,#F6F5F0)!important}
.cs-rfq-add{
	flex:1 1 200px;height:52px;margin:0!important;
	background:var(--cs-black,#111)!important;color:#fff!important;border:0!important;border-radius:999px!important;
	font-family:Montserrat,system-ui,sans-serif!important;font-size:14.5px!important;font-weight:700!important;
	text-transform:none!important;letter-spacing:.01em!important;padding:0 26px!important;
	display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:none!important;cursor:pointer;
	transition:background .25s ease,transform .25s ease,box-shadow .25s ease;
}
.cs-rfq-add::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg)}
.cs-rfq-add:hover{background:var(--cs-yellow,#FEDC01)!important;color:var(--cs-black,#111)!important;transform:translateY(-1px);box-shadow:0 12px 26px -14px rgba(254,220,1,.9)!important}
.cs-rfq-hint{margin:10px 0 0;min-height:1.2em;font:400 12.5px/1.4 "IBM Plex Mono",monospace;color:var(--cs-stone,#6F6D65)}

/* headerknop */
.cs-rfq-open{
	display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px 0 14px;
	background:#fff!important;color:var(--cs-ink,#1A1A18)!important;border:1px solid var(--cs-line,#DEDCD3)!important;border-radius:999px!important;
	font-family:Montserrat,system-ui,sans-serif!important;font-size:13.5px!important;font-weight:700!important;text-transform:none!important;
	cursor:pointer;box-shadow:none!important;transition:border-color .25s ease,background .25s ease;white-space:nowrap;
}
.cs-rfq-open:hover{border-color:var(--cs-black,#111)!important}
.cs-rfq-open b{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--cs-yellow,#FEDC01);color:var(--cs-black,#111);font:700 12px/1 "IBM Plex Mono",monospace}
body.cs-rfq-has .cs-rfq-open{border-color:var(--cs-black,#111)!important}

/* uitschuiflijst */
.cs-rfq-drawer{position:fixed;inset:0;z-index:100001;background:rgba(17,17,17,.45);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}
.cs-rfq-drawer.is-open{opacity:1;visibility:visible}
.cs-rfq-panel{
	position:absolute;top:0;right:0;bottom:0;width:min(460px,100%);background:#fff;display:flex;flex-direction:column;
	transform:translateX(100%);transition:transform .4s cubic-bezier(.22,1,.36,1);box-shadow:-30px 0 60px -40px rgba(0,0,0,.6);
}
.cs-rfq-drawer.is-open .cs-rfq-panel{transform:none}
.cs-rfq-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--cs-line,#DEDCD3)}
.cs-rfq-head b{font:700 18px/1 Montserrat,system-ui,sans-serif;color:var(--cs-ink,#1A1A18)}
.cs-rfq-head button{background:none!important;border:0!important;font-size:30px!important;line-height:1;cursor:pointer;color:var(--cs-stone,#6F6D65)!important;padding:0!important;box-shadow:none!important}
.cs-rfq-items{flex:1;overflow:auto;padding:14px 22px}
.cs-rfq-empty{font:400 14px/1.6 Lato,system-ui,sans-serif;color:var(--cs-stone,#6F6D65);padding:30px 0;text-align:center}
.cs-rfq-item{display:grid;grid-template-columns:56px 1fr auto auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--cs-line,#DEDCD3)}
.cs-rfq-item img,.cs-rfq-ph{width:56px;height:56px;border-radius:10px;object-fit:cover;background:var(--cs-warm,#F6F5F0);display:block}
.cs-rfq-txt b{display:block;font:600 14px/1.3 Montserrat,system-ui,sans-serif}
.cs-rfq-txt b a{color:var(--cs-ink,#1A1A18);text-decoration:none}
.cs-rfq-txt small{display:block;margin-top:3px;font:400 12px/1.4 "IBM Plex Mono",monospace;color:var(--cs-stone,#6F6D65)}
.cs-qty--sm{display:inline-flex;align-items:stretch;border:1px solid var(--cs-line,#DEDCD3);border-radius:999px;overflow:hidden;height:38px}
.cs-qty--sm button{width:32px;border:0!important;background:transparent!important;color:var(--cs-ink,#1A1A18)!important;font:400 17px/1 Montserrat,sans-serif!important;cursor:pointer;padding:0!important;box-shadow:none!important;border-radius:0!important}
.cs-qty--sm input{width:48px!important;border:0!important;text-align:center;font:700 13px/1 Montserrat,sans-serif!important;padding:0!important;margin:0!important;background:transparent!important;-moz-appearance:textfield;box-shadow:none!important;height:auto!important}
.cs-qty--sm input::-webkit-outer-spin-button,.cs-qty--sm input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cs-rfq-del{background:none!important;border:0!important;color:#b0aea4!important;font-size:22px!important;line-height:1;cursor:pointer;padding:4px!important;box-shadow:none!important}
.cs-rfq-del:hover{color:#C6301C!important}
.cs-rfq-foot{padding:16px 22px 22px;border-top:1px solid var(--cs-line,#DEDCD3);display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.cs-rfq-foot .cs-btn{flex:1;text-align:center}
.cs-rfq-clear{background:none!important;border:0!important;color:var(--cs-stone,#6F6D65)!important;font:400 13px/1 Lato,sans-serif!important;cursor:pointer;text-transform:none!important;box-shadow:none!important;padding:8px!important}
.cs-rfq-clear:hover{color:#C6301C!important}

/* melding */
.cs-toast{
	position:fixed;left:50%;bottom:28px;z-index:100002;transform:translate(-50%,20px);opacity:0;
	background:var(--cs-black,#111);color:#fff;border-radius:999px;padding:12px 12px 12px 20px;display:flex;align-items:center;gap:14px;
	font:400 14px/1 Lato,system-ui,sans-serif;box-shadow:0 20px 40px -20px rgba(0,0,0,.7);transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .35s ease;
}
.cs-toast.is-on{transform:translate(-50%,0);opacity:1}
.cs-toast button{background:var(--cs-yellow,#FEDC01)!important;color:var(--cs-black,#111)!important;border:0!important;border-radius:999px!important;padding:9px 14px!important;font:700 12.5px/1 Montserrat,sans-serif!important;cursor:pointer;text-transform:none!important;box-shadow:none!important}

/* samenvatting op de offertepagina */
.cs-rfq-summary-empty{font:400 14px/1.5 Lato,sans-serif;color:var(--cs-stone,#6F6D65)}
table.cs-rfq-table{width:100%;border-collapse:collapse;margin:0 0 20px;font:400 14px/1.4 Lato,sans-serif}
table.cs-rfq-table th,table.cs-rfq-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--cs-line,#DEDCD3)}
table.cs-rfq-table th{font:600 10.5px/1 "IBM Plex Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--cs-stone,#6F6D65);background:var(--cs-warm,#F6F5F0)}
table.cs-rfq-table code{font:400 12px/1 "IBM Plex Mono",monospace}

/* publiek: geen prijzen, geen winkelmand */
body.cs-public .cs-quote-btn,body.cs-public .woocommerce-Price-amount,body.cs-public .price{display:none!important}

/* offertepagina */
.cs-rfq-page{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:start}
@media(max-width:900px){.cs-rfq-page{grid-template-columns:1fr;gap:28px}}
.cs-rfq-page-list{position:sticky;top:110px;background:var(--cs-warm,#F6F5F0);border-radius:18px;padding:22px 24px}
.cs-rfq-page-list .cs-mega-h{margin:0 0 12px}
.cs-rfq-page-list table.cs-rfq-table th{background:transparent}
.cs-rfq-page-more{margin:6px 0 0;font:600 13.5px/1 Montserrat,sans-serif}
.cs-rfq-page-more a{color:var(--cs-ink,#1A1A18);text-decoration:none;border-bottom:2px solid var(--cs-yellow,#FEDC01)}
.cs-rfq-form{background:#fff;border:1px solid var(--cs-line,#DEDCD3);border-radius:18px;padding:28px}
.cs-rfq-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
@media(max-width:640px){.cs-rfq-form-grid{grid-template-columns:1fr}}
.cs-f{display:flex;flex-direction:column;gap:6px;margin:0 0 14px}
.cs-rfq-form-grid .cs-f{margin:0}
.cs-f>span{font:600 12px/1.2 Montserrat,system-ui,sans-serif;color:var(--cs-ink,#1A1A18)}
.cs-f>span em{font:400 11.5px/1 Lato,sans-serif;color:var(--cs-stone,#6F6D65)}
.cs-f input,.cs-f select,.cs-f textarea{
	width:100%;border:1px solid var(--cs-line,#DEDCD3)!important;border-radius:12px!important;background:#fff!important;
	font:400 15px/1.4 Lato,system-ui,sans-serif!important;color:var(--cs-ink,#1A1A18)!important;padding:12px 14px!important;box-shadow:none!important;margin:0!important;
	transition:border-color .2s ease,box-shadow .2s ease;
}
.cs-f input:focus,.cs-f select:focus,.cs-f textarea:focus{outline:none;border-color:var(--cs-black,#111)!important;box-shadow:0 0 0 3px rgba(254,220,1,.45)!important}
.cs-f--full{margin-top:16px}
.cs-hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.cs-rfq-form-foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:6px}
.cs-rfq-form-foot span{font:400 13px/1.4 Lato,sans-serif;color:var(--cs-stone,#6F6D65)}
.cs-rfq-form-foot .cs-btn.is-busy{opacity:.6;pointer-events:none}
.cs-rfq-form-msg{margin:14px 0 0;min-height:1.3em;font:600 14px/1.4 Montserrat,sans-serif;color:var(--cs-ink,#1A1A18)}
.cs-rfq-form.is-sent .cs-rfq-form-msg{padding:14px 16px;border-radius:12px;background:var(--cs-yellow,#FEDC01)}

/* koopblok v2: prijslijst + datasheet + sample */
.cs-rfq .cs-buy-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.cs-rfq-lock{display:inline-flex;gap:8px;align-items:center;font:600 10.5px/1 "IBM Plex Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--cs-stone,#6F6D65);border:1px solid var(--cs-line,#DEDCD3);border-radius:999px;padding:9px 12px;white-space:nowrap;flex:0 0 auto}
.cs-rfq-lock svg{width:14px;height:14px}
.cs-rfq-row2{margin-top:10px;flex-wrap:wrap}
.cs-rfq-ghost{flex:1 1 auto;height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1.5px solid var(--cs-line,#DEDCD3)!important;background:#fff!important;color:var(--cs-ink,#1A1A18)!important;border-radius:999px!important;font:700 13.5px/1 Montserrat,system-ui,sans-serif!important;text-transform:none!important;letter-spacing:0!important;padding:0 18px!important;cursor:pointer;box-shadow:none!important;transition:border-color .2s,background .2s}
.cs-rfq-ghost:hover{border-color:var(--cs-black,#111)!important}
.cs-rfq-ghost svg{width:16px;height:16px}
.cs-rfq-sample{flex:0 0 auto}
.cs-rfq-smp{font-style:normal;background:var(--cs-yellow,#FEDC01);color:var(--cs-black,#111);border-radius:6px;padding:2px 6px;font:700 10px/1 "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase}
.cs-rfq-head>div span{display:block;margin-top:6px;font:500 10.5px/1 "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--cs-stone,#6F6D65)}
.cs-rfq-xs{padding:16px 22px 6px;border-top:1px solid var(--cs-line,#DEDCD3)}
.cs-rfq-xs-h{margin:0 0 12px;font:600 10.5px/1 "IBM Plex Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--cs-stone,#6F6D65)}
.cs-rfq-xs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cs-xs-card{display:block;text-decoration:none;color:var(--cs-ink,#1A1A18);background:var(--cs-warm,#F6F5F0);border-radius:14px;padding:10px;border:1px solid transparent;transition:.2s;position:relative}
.cs-xs-card:hover{border-color:var(--cs-black,#111)}
.cs-xs-card.is-added{border-color:var(--cs-yellow,#FEDC01);background:#FFF7C2}
.cs-xs-card img,.cs-xs-card .cs-rfq-ph{width:100%;aspect-ratio:1/1;height:auto;object-fit:cover;border-radius:10px;margin-bottom:8px;display:block}
.cs-xs-card b{display:block;font:700 12.5px/1.25 Montserrat,sans-serif}
.cs-xs-card small{display:block;margin-top:4px;font:400 11px/1.3 Lato,sans-serif;color:var(--cs-stone,#6F6D65);min-height:2.6em}
.cs-xs-add{display:inline-block;margin-top:8px;font:700 11.5px/1 Montserrat,sans-serif;border-bottom:2px solid var(--cs-yellow,#FEDC01);padding-bottom:2px}
.cs-rfq-foot{display:grid;gap:8px}
.cs-rfq-foot .cs-btn{width:100%;text-align:center}
.cs-rfq-foot small{font:400 12px/1.4 Lato,sans-serif;color:var(--cs-stone,#6F6D65);text-align:center}
.cs-rfq-foot .cs-rfq-clear{justify-self:center}
/* datasheet-gate */
.cs-gate{position:fixed;inset:0;z-index:100003;background:rgba(14,14,12,.55);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:.3s}
.cs-gate.is-open{opacity:1;visibility:visible}
.cs-gate-box{position:absolute;left:50%;top:50%;transform:translate(-50%,-46%);width:min(520px,calc(100% - 32px));background:#fff;color:var(--cs-ink,#1A1A18);border-radius:24px;padding:32px;transition:transform .4s cubic-bezier(.22,1,.36,1);max-height:calc(100vh - 32px);overflow:auto}
.cs-gate.is-open .cs-gate-box{transform:translate(-50%,-50%)}
.cs-gate-x{position:absolute;right:18px;top:14px;background:none!important;border:0!important;font-size:30px!important;line-height:1;cursor:pointer;color:var(--cs-stone,#6F6D65)!important;padding:0!important;box-shadow:none!important}
.cs-gate-k{margin:0 0 10px;font:600 11px/1 "IBM Plex Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--cs-stone,#6F6D65)}
.cs-gate-h{margin:0 0 8px;font:800 30px/1.05 Montserrat,system-ui,sans-serif!important;text-transform:none!important}
.cs-gate-p{margin:0 0 18px;color:var(--cs-stone,#6F6D65);font:400 14px/1.5 Lato,sans-serif}
.cs-gate-form{display:grid;gap:12px}
.cs-gate-form label{display:grid;gap:6px;font:600 11px/1 "IBM Plex Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--cs-stone,#6F6D65)}
.cs-gate-form input:not([type=checkbox]){height:48px;border:1px solid var(--cs-line,#DEDCD3)!important;border-radius:12px!important;padding:0 14px!important;font:400 15px/1 Lato,sans-serif!important;background:#fff!important;box-shadow:none!important;margin:0!important}
.cs-gate-form input:focus{outline:none;border-color:var(--cs-black,#111)!important;box-shadow:0 0 0 3px rgba(254,220,1,.45)!important}
.cs-gate-chk{display:flex!important;align-items:center;gap:10px;font:400 13px/1.4 Lato,sans-serif!important;text-transform:none!important;letter-spacing:0!important;color:var(--cs-ink,#1A1A18)!important}
.cs-gate-form .cs-btn{width:100%;text-align:center}
.cs-gate-msg{margin:0;min-height:1.2em;font:600 13px/1.4 Montserrat,sans-serif;color:var(--cs-ink,#1A1A18)}
.cs-gate-form small{text-align:center;color:var(--cs-stone,#6F6D65);font-size:12.5px}
.cs-gate-form small a{color:var(--cs-ink,#1A1A18);font-weight:700}

.cs-gate-form .cs-btn.is-busy,.cs-rfq-ghost.is-busy,a[data-cs-gate].is-busy{opacity:.6;pointer-events:none}

/* prijslijst-aanvraag (gast) */
.cs-gate-pl{display:grid;gap:12px}.cs-gate-pl[hidden]{display:none}
.cs-gate-form select{height:48px;border:1px solid var(--cs-line,#DEDCD3)!important;border-radius:12px!important;padding:0 14px!important;font:400 15px/1 Lato,sans-serif!important;background:#fff!important;box-shadow:none!important;margin:0!important;width:100%;color:var(--cs-ink,#1A1A18)}
.cs-gate-form select:focus{outline:none;border-color:var(--cs-black,#111)!important;box-shadow:0 0 0 3px rgba(254,220,1,.45)!important}
.csp-pl-cta{margin:22px 0 0;font:400 15px/1.6 Lato,sans-serif;color:var(--cs-stone,#6F6D65)}.csp-pl-cta b{color:var(--cs-ink,#1A1A18)}.csp-pl-cta a{color:var(--cs-ink,#1A1A18);font-weight:700;text-decoration:underline;text-underline-offset:3px}
