@font-face{font-family:"ECO Veneer";src:url("/assets/fonts/veneer.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:"ECO Gotham";src:url("/assets/fonts/gotham-book.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"ECO Cocon";src:url("/assets/fonts/cocon.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
:root {
  --groen:#007d48; --groen-donker:#004a2b; --groen-licht:#00b065;
  --oranje:#ff6600; --oranje-donker:#cc5200; --tekst:#333333; --tekst-grijs:#959595;
  --lijn:#dbdbdb; --vlak:#f9f8f8; --wit:#ffffff; --fout:#e93d3d; --fout-vlak:#faf0f3; --goed:#64cd82;
  --geel:#ffe20b; --geel-licht:#fff1a6; --groen-vlak:#eff7f1;
  --radius:4px; --radius-kaart:8px;
  --font-kop:"ECO Veneer","Arial Narrow",sans-serif;
  --font-tekst:"ECO Gotham","Helvetica Neue",Arial,sans-serif;
  --font-accent:"ECO Cocon",Arial,sans-serif;
}
*{box-sizing:border-box}body{margin:0;background:var(--wit);color:var(--tekst);font:16px/1.65 var(--font-tekst)}
.welcome-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:28px}.welcome-tile{display:flex;flex-direction:column;justify-content:center;gap:12px;min-height:130px;padding:24px;border:1px solid var(--lijn);border-radius:var(--radius-kaart);background:var(--vlak);text-decoration:none;overflow-wrap:anywhere}.welcome-tile>span{font:400 26px/1.2 var(--font-accent)}.welcome-tile small{font:400 16px/1.6 var(--font-tekst);color:var(--tekst)}.welcome-tile:hover{border-color:var(--groen);background:var(--groen-vlak)}.welcome-order{min-height:240px;background:var(--geel-licht);border-color:var(--groen)}.welcome-order>span:first-child{font-size:34px}@media(min-width:768px){.welcome-grid{grid-template-columns:1.5fr 1fr}.welcome-order{grid-row:span 3;height:100%;padding:36px}.welcome-order>span:first-child{font-size:42px}}
a{color:var(--groen-donker);text-underline-offset:4px}a:hover{color:var(--groen)}
:focus-visible{outline:3px solid var(--groen-donker);outline-offset:4px}
h1,h2,h3{font-family:var(--font-kop);font-weight:400;line-height:1.1}h1{font-size:2.5rem;margin:0 0 16px;color:var(--tekst);overflow-wrap:anywhere}h2{font-size:2rem;margin:0 0 18px}h3{font:400 1.3rem/1.3 var(--font-accent)}p{margin:0 0 20px;max-width:75ch}
button,.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border:1px solid var(--groen);border-radius:var(--radius);background:var(--groen);color:var(--wit);font:700 17px/1.2 var(--font-accent);text-decoration:none;cursor:pointer;min-height:48px}
button:hover,.button:hover{background:var(--groen-donker);border-color:var(--groen-donker);color:var(--wit)}
button:disabled{background:var(--lijn);border-color:var(--lijn);color:var(--tekst);cursor:not-allowed}
.secondary{background:var(--wit);color:var(--groen-donker)}.danger{background:var(--fout-vlak);border:2px solid var(--fout);color:var(--tekst)}
.link-button{border:0;background:none;color:var(--groen-donker);padding:10px 0;text-decoration:underline;font-size:16px}.link-button:hover{background:none;color:var(--groen)}
.site-header{background:var(--wit);border-bottom:1px solid var(--lijn)}
.brand-strip{background:var(--groen);color:var(--wit);font:400 13px/1.4 var(--font-accent)}.brand-strip>div{max-width:1280px;margin:auto;padding:10px 24px;display:flex;justify-content:space-between;gap:16px}
.header-inner{max-width:1280px;margin:auto;padding:0 24px 24px;display:grid;grid-template-columns:1fr 180px 1fr;align-items:center;gap:24px;min-height:120px}
.brand{align-self:start;display:block;width:180px}.brand img{display:block;width:100%;height:auto}.portal-label{font:400 22px/1.25 var(--font-accent);color:var(--groen-donker)}.portal-label span{display:block;font:400 13px/1.5 var(--font-tekst);color:var(--tekst);margin-top:5px}.header-note{font-size:14px;text-align:right}.account-nav{justify-self:end;justify-content:flex-end;font:400 16px/1.4 var(--font-accent)}
nav{display:flex;gap:24px;align-items:center;flex-wrap:wrap}nav form{margin:0}
main{max-width:1280px;margin:auto;padding:28px 24px 72px;min-height:68vh;min-width:0}
.steps{font:400 16px/1.4 var(--font-accent);gap:12px;padding-bottom:24px;margin-bottom:0}.steps a,.steps>span{padding:10px 14px;border-radius:var(--radius);color:var(--tekst)}.steps [aria-current]{background:var(--geel-licht);color:var(--groen-donker);text-decoration:none}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:20px}.page-heading p{margin-bottom:0}
.panel,.product,.order-summary{background:var(--wit);border:1px solid var(--lijn);border-radius:var(--radius-kaart);padding:24px;min-width:0}.panel{margin-bottom:24px}.panel>h2{color:var(--groen-donker)}
.narrow,.auth-card,.auth-shell{max-width:560px;margin:30px auto}.auth-card{background:var(--wit);padding:32px;border:1px solid var(--lijn);border-radius:var(--radius-kaart)}
.auth-card form input{margin-bottom:20px}.auth-card form button{margin:4px 0 24px;width:100%}.auth-card .error{background:var(--fout-vlak);border-left:4px solid var(--fout);padding:12px}.auth-card p:last-child{margin:0}
.login-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:stretch;margin:12px 0}.login-layout .auth-card{margin:0;max-width:none;border:0;padding:24px 0 24px 16px}.login-nature{border-radius:var(--radius-kaart);padding:42px;display:flex;flex-direction:column;justify-content:flex-end;min-height:530px;background:linear-gradient(0deg,rgba(0,50,28,.92),rgba(0,50,28,0) 85%),url('/assets/images/natuurlijke-vijanden.jpg') 42% center/cover;color:var(--wit)}.login-nature h2{font-size:3rem}.login-nature p{margin-bottom:0;max-width:32ch}.eyebrow{font-family:var(--font-accent);color:var(--groen-donker)}.muted{font-size:14px}
.catalog-hero{padding:36px;min-height:228px;background:linear-gradient(90deg,rgba(0,50,28,.92),rgba(0,50,28,.3)),url('/assets/images/natuurlijke-vijanden.jpg') center 45%/cover;border-radius:var(--radius-kaart);margin-bottom:32px;color:var(--wit)}.catalog-hero h1{color:var(--wit);max-width:18ch}.catalog-hero p{font-size:18px}.hero-button{background:var(--geel);border-color:var(--geel);color:var(--groen-donker)}.hero-button:hover{background:var(--geel-licht);border-color:var(--geel-licht);color:var(--groen-donker)}
.product-grid{display:grid;gap:16px}.product{display:flex;flex-direction:column;padding:16px;background:var(--vlak);border-color:var(--vlak)}.product h2{font:400 20px/1.3 var(--font-accent);margin-bottom:10px;overflow-wrap:anywhere;color:var(--tekst)}.article-code,.advice{font-size:14px}.article-code{margin-bottom:14px;color:var(--groen-donker)}.pricing{display:flex;flex-direction:column;margin:4px 0 8px}.pricing strong{font:600 2rem/1.3 var(--font-tekst);font-variant-numeric:tabular-nums;color:var(--tekst)}.pricing span{font-size:14px}.advice{margin-top:auto}
.catalog-layout{display:grid;gap:24px}.order-summary{height:fit-content;border:1px solid var(--groen)}.order-summary>h2{background:var(--groen);color:var(--wit);padding:22px 24px;margin:-24px -24px 24px;border-radius:7px 7px 0 0}.summary-lines{list-style:none;padding:0;margin:0}.summary-lines li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--lijn)}.summary-lines strong{white-space:nowrap}.total{display:flex;justify-content:space-between;gap:16px;margin-top:20px}.order-summary .button{width:100%}
label{display:block;font:400 17px/1.4 var(--font-accent);margin:0 0 8px}input,select,textarea{font:inherit;color:var(--tekst);background:var(--wit);border:1px solid var(--tekst-grijs);border-radius:var(--radius);padding:11px 12px;width:100%;min-height:48px;max-width:100%}textarea{min-height:110px}input[aria-invalid]{border:2px solid var(--fout)}
.field{margin-bottom:22px}.field-error{border-left:3px solid var(--fout);padding-left:10px;margin:6px 0 0;font-size:14px}.address-form{max-width:760px}.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:24px}
.address-lookup{margin:0 0 24px;padding:16px;background:var(--vlak);border-radius:var(--radius)}.address-lookup p{font-size:14px;margin-bottom:12px}.address-lookup [role="status"]{margin:12px 0 0}.address-lookup [role="status"]:empty{margin:0}
.address-form>button[hidden]{display:none}
.add-line{display:flex;gap:12px;align-items:end;margin-top:8px}.add-line input{width:84px}.add-line button{flex:1}.line-edit{display:flex;align-items:center;gap:8px}.line-edit input{width:80px}.line-edit button{font-size:14px;padding:12px}
.product-form{display:flex;flex-direction:column;flex:1;min-width:0}.product-form .add-line{margin-top:auto;flex-wrap:wrap}.product-form .add-line>div{flex:1 1 140px}.product-form .add-line label{font-size:15px}.product-form .add-line button{flex:1 1 115px}
.variant-picker{border:0;padding:0;margin:0 0 12px;min-width:0}.variant-picker legend{font:400 16px/1.4 var(--font-accent);margin-bottom:8px}.variant-options{display:flex;flex-wrap:wrap;gap:8px;position:relative}.variant-radio{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0;margin:0;pointer-events:none}.variant-choice{order:1;display:flex;align-items:center;min-height:44px;margin:0;padding:10px 12px;background:var(--wit);border:1px solid var(--lijn);border-radius:4px;font:400 14px/1.4 var(--font-accent);cursor:pointer;max-width:100%;overflow-wrap:anywhere}.variant-choice:hover{border-color:var(--groen)}.variant-radio:checked+.variant-choice{background:var(--geel-licht);border:2px solid var(--groen-donker);padding:9px 11px;color:var(--groen-donker)}.variant-radio:focus-visible+.variant-choice{outline:3px solid var(--groen-donker);outline-offset:3px}.variant-details{display:none;order:2;flex:0 0 100%;min-width:0;padding-top:8px}.variant-radio:checked+.variant-choice+.variant-details{display:block}.variant-details .article-code{margin-bottom:6px}.variant-details .advice{margin-bottom:6px}.unit-note{font-size:13px;margin-bottom:0}
.summary-line-body{min-width:0;overflow-wrap:anywhere}.summary-line-body small{display:block;font-size:12px;margin-top:6px}.summary-lines strong{font-size:15px}.remove-line{font-size:14px;min-height:44px}.summary-lines{max-height:60vh;overflow-y:auto}.order-summary{scroll-margin-top:24px}
@media(max-width:999px){.summary-lines{max-height:none}}
.notice,.error-box{padding:18px 22px;border-radius:var(--radius);margin-bottom:24px}.notice{background:var(--groen-vlak);border-left:5px solid var(--groen)}.error-box{background:var(--fout-vlak);border-left:5px solid var(--fout)}.error-box h2{margin-bottom:8px}
.table-scroll{position:relative;overflow-x:auto;max-width:100%}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:14px;font-weight:600}td,th{padding:16px 12px;border-bottom:1px solid var(--lijn)}th:first-child,td:first-child{padding-left:0}.amount{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}tfoot td,tfoot th{border:0;padding-top:24px}td small{font-size:13px}
address{font-style:normal;margin-bottom:16px}.price-note{font-size:14px}.status{padding:10px 16px;background:var(--groen-vlak);border:1px solid var(--groen);border-radius:var(--radius);font:400 16px/1.4 var(--font-accent);color:var(--groen-donker)}
.filter{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:24px}.filter label{margin:0}.filter select{width:auto;max-width:100%}
.checkbox{display:flex;align-items:start;gap:12px;font-weight:400;margin:18px 0}.checkbox input{width:20px;min-height:20px;flex-shrink:0;margin-top:4px}dl{display:grid;grid-template-columns:1fr 2fr;gap:8px}dd{margin:0;overflow-wrap:anywhere}dt{font-weight:600}
.site-footer{background:var(--groen);color:var(--wit);font-size:14px}.footer-inner{max-width:1280px;margin:auto;padding:34px 24px;display:flex;gap:24px;justify-content:space-between;flex-wrap:wrap}.site-footer strong{font:400 24px/1.4 var(--font-kop)}.site-footer p{margin:0}.site-footer a{color:var(--wit);overflow-wrap:anywhere}.site-footer a:hover{color:var(--geel-licht)}
.site-footer a:focus-visible,.catalog-hero .button:focus-visible{outline-color:var(--wit)}
.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip:focus{display:block;padding:16px;background:var(--wit)}
.catalog-search{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:24px 0}.catalog-search>div{flex:1;min-width:220px}.catalog-category,.catalog-subgroup{grid-column:1/-1;margin:14px 0 0;color:var(--groen-donker)}.catalog-subgroup{font-family:var(--font-accent)}.product-image{width:100%;height:220px;object-fit:contain;margin-bottom:10px;border-radius:4px;background:var(--wit)}.account-nav{grid-column:1/-1;justify-self:stretch;justify-content:flex-start;border-top:1px solid var(--lijn);padding-top:16px;gap:18px}.header-inner{grid-template-columns:1fr 180px 1fr}.brand{grid-column:2;grid-row:1}.portal-label{grid-column:1;grid-row:1}.pagination{display:flex;gap:16px;flex-wrap:wrap;margin-top:24px}.history-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.history-filters>div{flex:1;min-width:150px}.readonly-value{padding:12px;background:var(--vlak);border-radius:4px}details{margin:16px 0;padding:16px;border:1px solid var(--lijn);border-radius:4px}summary{cursor:pointer;font-family:var(--font-accent)}.price-changed{background:var(--geel-licht);color:var(--groen-donker)}
@media(min-width:768px){main{padding-top:36px}h1{font-size:3rem}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.address-form{padding:32px}}
.order-summary{margin:0 0 24px;padding:0;position:static}.order-summary>summary{min-height:48px;padding:16px 20px;color:var(--groen-donker);background:var(--groen-vlak);border-radius:var(--radius-kaart);overflow-wrap:anywhere}.basket-content{padding:0 20px 20px;scroll-margin-top:24px}.basket-content>p:first-child{padding-top:20px}.basket-amount{font-family:var(--font-tekst);font-variant-numeric:tabular-nums}.order-summary .button{width:auto}.order-summary .summary-lines{max-height:40vh;overflow-y:auto}.order-summary:has(#je-bestelling:target){outline:2px solid var(--groen);outline-offset:2px}
@media(max-width:767px){.header-inner{grid-template-columns:1fr 1fr;gap:18px;padding:0 20px 20px}.brand{grid-column:1/-1;grid-row:1;justify-self:center;width:150px}.portal-label{font-size:19px;grid-column:1/-1;grid-row:2}.portal-label span{font-size:12px}.account-nav{gap:14px;font-size:15px}.header-note{font-size:12px}.brand-strip>div{padding:9px 20px;font-size:12px}.brand-strip span:last-child{display:none}main{padding:24px 20px 48px}h1{font-size:2.3rem}.steps{gap:5px;font-size:14px}.steps a,.steps>span{padding:9px 8px}.catalog-hero{padding:24px;min-height:220px}.catalog-hero h1{max-width:15ch}.catalog-hero p{font-size:16px}.login-layout{grid-template-columns:1fr;gap:16px;margin:0}.login-layout .auth-card{padding:24px 0}.login-nature{min-height:240px;padding:24px;background-position:50% 40%}.login-nature h2{font-size:2.3rem}.login-nature p{font-size:14px}.footer-inner{padding:28px 20px}.product{padding:16px}.add-line{gap:10px}.add-line button{padding:15px 14px}.auth-card{padding:24px}.page-heading{gap:14px}}
@media(max-width:767px){.login-nature{order:2;background-image:linear-gradient(0deg,rgba(0,50,28,.92),rgba(0,50,28,.72)),url('/assets/images/natuurlijke-vijanden.jpg')}.catalog-hero{background-image:linear-gradient(90deg,rgba(0,50,28,.92),rgba(0,50,28,.72)),url('/assets/images/natuurlijke-vijanden.jpg')}}
.basket-enhanced{display:none}
.quick-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 20px}.quick-links>span{font-family:var(--font-accent);margin-right:4px}.quick-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--groen);border-radius:var(--radius);background:var(--groen-vlak);color:var(--groen-donker);font-family:var(--font-accent);overflow-wrap:anywhere}.quick-links a:hover{background:var(--geel-licht)}
.basket-is-open{overflow:hidden}
.basket-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(480px,100%);max-width:100%;height:100%;height:100dvh;max-height:100%;padding:0;border:0;background:var(--wit);color:var(--tekst);font:inherit;overflow:hidden}
.basket-drawer[open]{display:flex;flex-direction:column;animation:basket-enter .22s ease-out}
.basket-drawer::backdrop{background:rgb(0 0 0 / 35%)}
.basket-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--lijn);flex-shrink:0}.basket-heading h2{margin:0;font-size:2rem}.basket-close{padding:0;width:48px;flex-shrink:0;font:32px/1 var(--font-tekst)}
.basket-drawer .basket-content{display:flex;flex-direction:column;min-height:0;flex:1;padding:0 24px;overflow:auto;overscroll-behavior:contain}
.basket-drawer .summary-lines{flex:1;min-height:0;max-height:none;overflow:auto;padding:6px 4px}.basket-drawer .summary-lines li{padding:20px 0}.basket-drawer .basket-checkout{flex-shrink:0;padding:0 4px 12px;border-top:1px solid var(--lijn);background:var(--wit)}.basket-drawer .total{flex-wrap:wrap}.basket-drawer .basket-checkout .button{width:100%}
.basket-continue{flex-shrink:0;margin:8px 28px 20px;margin-bottom:max(20px,env(safe-area-inset-bottom))}
@keyframes basket-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.basket-drawer[open]{animation:none}}

@media(min-width:1100px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

.request-card{overflow-wrap:anywhere}.request-card dd{margin:0 0 12px}.request-card dt{font-weight:700}.request-card form+form{margin-top:24px;padding-top:24px;border-top:1px solid var(--lijn)}

.privacy-panel{overflow-wrap:anywhere}.privacy-panel label:not(.checkbox){margin-top:12px}.privacy-panel button{margin-top:12px}
