/* Verbrug B.V. — custom theme tokens from brand_brief.json (Mark) */
:root{
  --c-primary:#eb586a;      /* Mark primary: coral brand accent */
  --c-primary-hover:#d34459;
  --c-secondary:#1f274a;    /* navy text/footer (brief text) */
  --c-btn:#494f6c;          /* brief button_bg: navy-purple pill buttons */
  --c-btn-hover:#3a3f56;
  --c-accent:#f2ab55;       /* Mark accent: amber label / dot */
  --c-nav:#eb586a;          /* coral main navigation bar */
  --c-nav-hover:#d34459;
  --c-bg:#ffffff;
  --c-surface:#eeeeee;
  --c-text:#1f274a;
  --c-muted:#6e6e73;
  --c-border:#888888;
  --c-success:#1bbc9b;
  --c-error:#e02b27;
  --c-star:#f2ab55;
  --c-footer:#1f274a;
  --radius-btn:20px;        /* brief buttons.radius_px: pill */
  --font: 'Lato','Open Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
}

/* daisyUI custom theme override (OKLCH of Mark's palette, overrides default) */
[data-theme="verbrug"]{
  color-scheme:light;
  --p:66% 0.16 12;   --pc:100% 0 0;   /* coral #eb586a */
  --s:29% 0.05 285;  --sc:100% 0 0;   /* navy-purple #494f6c */
  --a:78% 0.11 68;   --ac:22% 0.04 270; /* amber #f2ab55 */
  --n:27% 0.06 270;  --nc:100% 0 0;
  --b1:100% 0 0;     --b2:96% 0 0;  --b3:92% 0 0;  --bc:27% 0.06 270;
  --su:63% 0.12 175; --er:58% 0.22 27;
  --rounded-box:.5rem; --rounded-btn:20px; --rounded-badge:2px; --animation-btn:.2s;
}

html,body{font-family:var(--font);color:var(--c-text);background:var(--c-bg);}
h1,h2,h3,h4{font-family:var(--font);font-weight:700;color:var(--c-secondary);}
a{color:inherit;}

/* red dot flourish after headings/labels (Verbrug brand motif) */
.dot::after{content:".";color:var(--c-accent);font-weight:800;}

/* buttons */
.btn-verbrug{background:var(--c-btn);color:#fff;border-radius:var(--radius-btn);
  padding:.7rem 1.4rem;font-weight:600;display:inline-flex;align-items:center;gap:.5rem;
  transition:background .18s;border:none;cursor:pointer;line-height:1;}
.btn-verbrug:hover{background:var(--c-btn-hover);}
/* product page CTA — same pill look as .pcard .order-link on home/category */
.btn-cart-pill{border-radius:.5rem;font-weight:700;font-size:1rem;height:48px;padding:0 1.6rem;gap:.5rem;line-height:1;align-items:center;}
.btn-cart-pill i{font-size:.9rem;}
.btn-navy{background:var(--c-secondary);color:#fff;border-radius:var(--radius-btn);
  padding:.8rem 1.5rem;font-weight:600;display:inline-flex;align-items:center;gap:.5rem;
  transition:filter .18s;border:none;cursor:pointer;}
.btn-navy:hover{filter:brightness(1.25);}
.btn-ghost-line{border:1px solid var(--c-border);border-radius:var(--radius-btn);
  padding:.6rem 1.2rem;font-weight:600;background:#fff;color:var(--c-secondary);}

/* main coral nav bar */
.mainnav{background:var(--c-nav);}
.mainnav a{color:#fff;font-weight:600;font-size:.95rem;padding:.9rem .1rem;display:inline-block;
  border-bottom:3px solid transparent;transition:border-color .15s;}
.mainnav a:hover{border-bottom-color:#fff;}
.mainnav a.active{border-bottom-color:var(--c-accent);}

/* usp strip */
.usp-strip{border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border);background:#fff;}
.usp-strip .usp{display:flex;align-items:center;gap:.55rem;color:var(--c-secondary);font-size:.9rem;}
.usp-strip .usp i{color:var(--c-primary);font-size:1.05rem;}

/* search bar */
.search-wrap{border:1px solid #d9d9d9;border-radius:4px;background:#fff;display:flex;align-items:center;}
.search-wrap input{border:none;outline:none;padding:.7rem .9rem;width:100%;background:transparent;font-size:.95rem;}
.search-wrap button{padding:0 1rem;color:var(--c-muted);background:transparent;border:none;cursor:pointer;}
/* mobile: search op een eigen regel onder logo/iconen (voorkomt afgeknepen zoekveld) */
@media (max-width:767.98px){
  .hdr-main-row{flex-wrap:wrap;row-gap:.625rem;}
  .hdr-main-row .hdr-search{order:10;flex:0 0 100%;width:100%;max-width:none;margin:0;}
  .hdr-main-row .hdr-search input{padding:.6rem .8rem;}
  .hdr-main-row .hdr-mob-fav{margin-left:0;}
  .hdr-main-row .hdr-mob-acc{margin-left:auto;}
}

/* category tiles */
.cat-tile{text-align:center;transition:transform .15s;}
.cat-tile:hover{transform:translateY(-3px);}
.cat-tile img{height:120px;width:100%;object-fit:contain;}
.cat-tile span{display:block;margin-top:.6rem;font-weight:700;color:var(--c-secondary);}
/* mobile: 7 tegels netjes in 2 rijen (4 + 3 gecentreerd), geen lege ruimte */
@media (max-width:767.98px){
  .container-r .cat-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 0;}
  .container-r .cat-grid .cat-tile{flex:0 0 25%;max-width:25%;padding:0 .3rem;}
  .cat-grid .cat-tile img{height:66px;}
  .cat-grid .cat-tile span{margin-top:.35rem;font-size:.75rem;line-height:1.2;}
}

/* product card — dense B2B spec style */
/* flat square cards per reference (radius 0, no shadow, thin grey border) */
.pcard{background:#fff;border:1px solid var(--c-border);border-radius:0;padding:1rem;
  display:flex;flex-direction:column;transition:border-color .18s,transform .18s;position:relative;}
/* wishlist heart on product cards */
.pcard .card-wish{position:absolute;top:.5rem;right:.5rem;width:2rem;height:2rem;z-index:2;
  display:flex;align-items:center;justify-content:center;border-radius:9999px;
  background:#fff;border:1px solid var(--c-border);color:#9aa1a9;transition:color .15s,border-color .15s;}
.pcard .card-wish:hover{color:#e11d48;border-color:#e11d48;}
.js-wishlist-btn.is-active{color:#e11d48;border-color:#e11d48;}
.js-wishlist-btn.is-active i{color:#e11d48;font-weight:900;}
.js-wishlist-btn.is-active i::before{content:"\f004";}
.js-wishlist-btn.is-active i{font-family:"Font Awesome 6 Free";}
.pcard:hover{border-color:var(--c-nav);transform:translateY(-2px);}
.pcard .stock{color:var(--c-accent);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;}
.pcard .pimg{height:180px;display:flex;align-items:center;justify-content:center;margin:.4rem 0;}
.pcard .pimg img{max-height:180px;max-width:100%;object-fit:contain;}
.pcard .ptitle{font-size:.9rem;font-weight:600;color:var(--c-secondary);line-height:1.3;min-height:2.4rem;}
.pcard .pprice{font-size:1.35rem;font-weight:800;color:var(--c-secondary);}
.pcard .order-link{background:var(--c-btn);color:#fff;font-weight:700;font-size:.85rem;
  border-radius:20px;padding:.45rem 1rem;display:inline-flex;align-items:center;gap:.4rem;
  align-self:flex-start;transition:background .18s;}
.pcard .order-link:hover{background:var(--c-btn-hover);}

/* trust stars */
.stars i{color:var(--c-star);}
.stars i.fa-regular{color:#c9cedb;}
.card-stars{display:flex;gap:.1rem;line-height:1;}

/* footer */
.site-footer{background:var(--c-footer);color:#cfd3e0;}
.site-footer h4{color:#fff;font-size:1rem;margin-bottom:.9rem;}
.site-footer a:hover{color:#fff;}
.footer-bottom{background:#171d38;color:#9aa0b8;}

/* generic section */
.section-title{font-size:1.6rem;font-weight:800;color:var(--c-secondary);}
.section-title .light{color:var(--c-muted);font-weight:800;}
/* categorie/merk-kop: telling op eigen regel, kleiner, niet afbreken */
.cat-title{font-size:1.35rem;line-height:1.25;min-width:0;}
.cat-title .light{display:block;font-size:.875rem;font-weight:600;white-space:nowrap;margin-top:.15rem;}
@media (min-width:1024px){.cat-title{font-size:1.6rem;}}

/* toggle btw */
.btw-toggle{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--c-secondary);background:none;border:0;padding:0;cursor:pointer;font-family:inherit;line-height:inherit;}
.btw-toggle .track{width:38px;height:20px;background:#d0d0d0;border-radius:999px;position:relative;transition:background .2s;flex:none;}
.btw-toggle .track::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:.2s;}
.btw-toggle .btw-on{color:var(--c-muted);}
.btw-toggle[aria-checked="true"] .track{background:var(--c-primary);}
.btw-toggle[aria-checked="true"] .track::after{left:20px;}
.btw-toggle[aria-checked="true"] .btw-off{color:var(--c-muted);}
.btw-toggle[aria-checked="true"] .btw-on{color:var(--c-secondary);}
.btw-toggle:focus-visible{outline:2px solid var(--c-primary);outline-offset:3px;border-radius:999px;}

.container-r{max-width:1280px;margin:0 auto;padding-left:1rem;padding-right:1rem;}

.breadcrumb-r{font-size:.85rem;color:var(--c-muted);}
.breadcrumb-r a:hover{color:var(--c-primary);}
.breadcrumb-r .breadcrumb-home{display:inline-flex;align-items:center;vertical-align:-.18em;}
.breadcrumb-home-ico{width:1.05rem;height:1.05rem;display:block;}
.breadcrumb-sep{margin:0 .1rem;color:var(--c-muted);}

/* forms */
.field{width:100%;border:1px solid #d9d9d9;border-radius:4px;padding:.7rem .9rem;font-size:.95rem;outline:none;}
.field:focus{border-color:var(--c-primary);box-shadow:0 0 0 2px rgba(235,88,106,.18);}
/* validatie van de account-formulieren (login/register/forgotten) */
.field-invalid{border-color:var(--c-danger,#d92d20);background:#fff6f6;}
.field-invalid:focus{border-color:var(--c-danger,#d92d20);box-shadow:0 0 0 2px rgba(217,45,32,.15);}
.js-field-error[hidden]{display:none;}
/* sort select: custom caret with breathing room */
.select-sort{appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%23767676' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1rem center;background-size:12px 8px;
  padding-right:2.6rem;border-radius:8px;background-color:#fff;
  transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;}
.select-sort:hover{border-color:#b9b9b9;background-color:#fafafa;}
.select-sort:focus{background-color:#fff;}
.select-sort::-ms-expand{display:none;}
.form-label{font-weight:600;font-size:.9rem;color:var(--c-secondary);margin-bottom:.35rem;display:block;}

/* product card: keep CTA on one line, equal card heights via flex + mt-auto (set in markup) */
.pcard .order-link{white-space:nowrap;}
.pcard .ptitle{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* pagination — horizontal row, active highlighted (OpenCart outputs ul.pagination>li.page-item) */
.pagination{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:1.5rem 0 0;align-items:center;justify-content:center;}
.pagination li{margin:0;}
.pagination .page-link{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 .6rem;
  border:1px solid var(--c-border);border-radius:4px;color:var(--c-secondary);font-weight:600;font-size:.9rem;background:#fff;text-decoration:none;transition:.15s;}
.pagination .page-link:hover{border-color:var(--c-primary);color:var(--c-primary);}
.pagination .page-item.active .page-link,.pagination li.active .page-link{background:var(--c-primary);border-color:var(--c-primary);color:#fff;}
.pagination .page-item.disabled .page-link{opacity:.4;pointer-events:none;}

/* cart quantity stepper (−/+ around the number, instant AJAX, no update button) */
.qty-stepper{display:inline-flex;align-items:center;border:1px solid #d9d9d9;border-radius:6px;overflow:hidden;height:40px;}
.qty-stepper button{width:38px;height:100%;background:#f4f4f4;border:none;color:var(--c-secondary);font-size:1.1rem;font-weight:700;cursor:pointer;line-height:1;}
.qty-stepper button:hover{background:var(--c-primary);color:#fff;}
.qty-stepper .js-qty{width:44px;height:100%;text-align:center;border:none;border-left:1px solid #e5e5e5;border-right:1px solid #e5e5e5;outline:none;font-weight:600;font-size:.95rem;}
/* number inputs reserve room for the native spin buttons, which pushes the digit
   off-centre inside the stepper — strip them and centre the value explicitly */
.qty-stepper .qty-input,.qty-stepper .js-qty{-moz-appearance:textfield;appearance:textfield;padding:0;margin:0;
  line-height:38px;text-align:center;text-indent:0;box-sizing:border-box;background:#fff;color:var(--c-secondary);}
.qty-stepper .qty-input::-webkit-outer-spin-button,.qty-stepper .qty-input::-webkit-inner-spin-button,
.qty-stepper .js-qty::-webkit-outer-spin-button,.qty-stepper .js-qty::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0;}

/* product gallery */
.gal-arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:#fff;border:1px solid var(--c-border);
  color:var(--c-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.12);z-index:2;transition:.15s;}
.gal-arrow:hover{background:var(--c-primary);color:#fff;border-color:var(--c-primary);}
.gal-thumb{height:5rem;width:5rem;flex:0 0 auto;border:1px solid #e5e5e5;border-radius:4px;padding:.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fff;transition:border-color .15s;}
.gal-thumb.active{border-color:var(--c-primary);border-width:2px;}
/* thumbnail strip: strictly under the main image, 6 per row, smooth horizontal scroll */
.gal-thumbs-wrap{--gal-gap:.75rem;}
.gal-thumbs{display:flex;gap:var(--gal-gap);overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x proximity;
  -ms-overflow-style:none;scrollbar-width:none;}
.gal-thumbs::-webkit-scrollbar{display:none;}
.gal-thumbs .gal-thumb{scroll-snap-align:start;height:auto;aspect-ratio:1/1;
  width:calc((100% - 5 * var(--gal-gap)) / 6);}
.gal-strip-arrow{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:#fff;
  border:1px solid var(--c-border);color:var(--c-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 1px 4px rgba(0,0,0,.14);z-index:2;font-size:12px;}
.gal-strip-arrow:hover{background:var(--c-primary);color:#fff;border-color:var(--c-primary);}
.gal-strip-arrow[hidden]{display:none;}
/* fullscreen viewer */
.gal-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;padding:3rem;}
.gal-lightbox[hidden]{display:none;}
.gal-lightbox img{max-width:92vw;max-height:88vh;object-fit:contain;}
.gal-lb-arrow,.gal-lb-close{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.35);
  border-radius:50%;width:46px;height:46px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.15s;}
.gal-lb-arrow{top:50%;transform:translateY(-50%);}
.gal-lb-close{top:1rem;right:1rem;}
.gal-lb-arrow:hover,.gal-lb-close:hover{background:var(--c-primary);border-color:var(--c-primary);}
@media (max-width:640px){.gal-thumbs .gal-thumb{width:calc((100% - 3 * var(--gal-gap)) / 4);}
  .gal-lightbox{padding:1rem;}.gal-lb-arrow,.gal-lb-close{width:38px;height:38px;}}

/* search autocomplete dropdown */
.ac-box{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d9d9d9;border-top:none;border-radius:0 0 6px 6px;
  box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:60;max-height:70vh;overflow-y:auto;display:none;}
.ac-box.open{display:block;}
.ac-item{display:flex;align-items:center;gap:.7rem;padding:.55rem .8rem;border-bottom:1px solid #f0f0f0;color:var(--c-secondary);text-decoration:none;}
.ac-item:last-child{border-bottom:none;}
.ac-item img{width:44px;height:44px;object-fit:contain;flex:0 0 auto;border:1px solid #f0f0f0;border-radius:4px;background:#fff;}
.ac-item .ac-name{flex:1;font-size:.85rem;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.ac-item .ac-price{font-weight:800;color:var(--c-secondary);font-size:.9rem;white-space:nowrap;}
.ac-item:hover,.ac-item.active{background:var(--c-surface);}
.ac-empty{padding:.8rem;font-size:.85rem;color:var(--c-secondary);}

/* information sidebar */
.info-sidebar-link{color:var(--c-secondary);background:transparent;}
.info-sidebar-link:hover{background:var(--c-primary);color:#fff;}
.info-sidebar-link--active,.info-sidebar-link--active:hover{background:var(--c-secondary);color:#fff;}

/* catalog product cards: keep price on one line and CTA readable on mobile (390px) */
.pcard .pprice{white-space:nowrap;}
@media (max-width:640px){
  .pcard .pprice{font-size:1.05rem;}
  .pcard .order-link{padding:.4rem .7rem;font-size:.78rem;}
  .pcard .pimg,.pcard .pimg img{height:130px;max-height:130px;}
}
.pcard .order-link{flex:0 0 auto;overflow:visible;}
/* mobile CTA must read "Bestellen" like the reference static, not an icon-only circle */
@media (max-width:640px){
  .pcard a.order-link{font-size:.78rem;line-height:1.2;padding:.4rem .7rem;border-radius:20px;width:auto;height:auto;gap:.35rem;}
  .pcard a.order-link i{font-size:.7rem;}
}

/* categorieën-toggle: pill op één regel */
.allcats-btn{display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap;
  font-weight:700;font-size:.875rem;line-height:1;color:#fff;background:var(--c-primary);
  padding:.6rem 1rem;border-radius:999px;transition:background .15s,box-shadow .15s;}
.allcats-btn:hover{background:var(--c-secondary);box-shadow:0 4px 12px rgba(0,0,0,.12);}
.allcats-caret{font-size:10px;transition:transform .2s;}
.js-allcats-toggle[aria-expanded="true"] .allcats-caret{transform:rotate(180deg);}

/* mega-menu "Bekijk alle categorieën": masonry columns instead of a sparse 3x2 grid */
.allcats-cols{column-count:3;column-gap:1.75rem;}
.allcats-group{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;margin-bottom:1.25rem;display:inline-block;width:100%;}
.allcats-title{display:block;font-weight:700;font-size:.9rem;line-height:1.2;color:var(--c-secondary);padding-bottom:.4rem;border-bottom:2px solid #f1f1f1;}
.allcats-title:hover{color:var(--c-primary);border-bottom-color:var(--c-primary);}
.allcats-list{margin-top:.4rem;}
.allcats-list li a{display:block;font-size:.8125rem;line-height:1.25;color:var(--c-muted,#6b7280);padding:.28rem .5rem;border-radius:6px;transition:background .15s,color .15s;}
.allcats-list li a:hover{background:#fdf1f3;color:var(--c-primary);}
.allcats-foot{border-top:1px solid #eee;padding:.75rem 1.5rem;background:#fafafa;border-radius:0 0 .75rem .75rem;}
.allcats-foot a{display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;font-weight:700;color:var(--c-primary);}
.allcats-foot a:hover{text-decoration:underline;}

/* header action icons (favorieten / offerte / winkelwagen): readable labels, aligned columns */
.hdr-actions{gap:.25rem;}
.hdr-action{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.25rem;min-width:5.5rem;padding:.15rem .35rem .1rem;border-radius:.6rem;color:var(--c-secondary);transition:color .15s,background .15s;}
.hdr-action:hover{color:var(--c-primary);background:#fdf1f3;}
.hdr-action-ico{position:relative;display:block;font-size:1.375rem;line-height:1;}
.hdr-action-label{font-size:.8125rem;font-weight:600;line-height:1.1;white-space:nowrap;}
.hdr-action-total{font-size:.8125rem;font-weight:700;line-height:1.1;color:var(--c-primary);white-space:nowrap;}
.hdr-badge{position:absolute;top:-.45rem;right:-.6rem;min-width:1.05rem;height:1.05rem;padding:0 .25rem;border-radius:9999px;background:var(--c-accent,#f5a623);color:#fff;font-size:.6875rem;font-weight:700;line-height:1.05rem;text-align:center;}

/* FAQ accordion: plus -> minus when open */
.faq-icon{transition:transform .15s ease;}
details[open] > summary .faq-icon::before{content:"\f068";}

/* product card footer: price boven, CTA op volle breedte — voorkomt uitstekende/afgeknipte knop */
.pcard-foot{display:flex;flex-direction:column;align-items:stretch;gap:.6rem;}
.pcard-foot .pprice{line-height:1.15;}
.pcard .order-link{width:100%;align-self:stretch;justify-content:center;flex:0 0 auto;
  padding:.6rem 1rem;border-radius:8px;font-size:.85rem;letter-spacing:.01em;
  border:1px solid var(--c-btn);cursor:pointer;box-shadow:0 1px 2px rgba(20,24,40,.08);}
.pcard .order-link:hover{background:var(--c-btn-hover);border-color:var(--c-btn-hover);box-shadow:0 3px 10px rgba(20,24,40,.16);}
.pcard .order-link:active{transform:translateY(1px);box-shadow:none;}
.pcard .order-link:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px;}
.pcard .order-link i{opacity:.85;}
@media (max-width:640px){
  .pcard a.order-link,.pcard .order-link{width:100%;border-radius:8px;padding:.5rem .7rem;font-size:.78rem;}
}

/* header actions: keep icons/labels on one line with the search bar */
.hdr-actions{align-items:center;}
.hdr-action{justify-content:center;}
.hdr-action-meta{display:flex;align-items:baseline;gap:.35rem;line-height:1.1;}
.cart-widget .hdr-action{min-width:auto;}

/* mainnav: een rij, gelijkmatig verdeeld over de sitebreedte (geen leeg vlak rechts) */
.mainnav-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:.75rem;}
.mainnav-row > a{white-space:nowrap;}

/* Uitgelicht-band: schone merkachtergrond i.p.v. de foto met silhouet */
.carousel-band{
  position:relative;
  background:
    radial-gradient(1100px 340px at 12% -10%, rgba(235,88,106,.28), transparent 60%),
    radial-gradient(900px 320px at 88% 110%, rgba(242,171,85,.22), transparent 60%),
    linear-gradient(135deg,#1f274a 0%,#2b3560 55%,#494f6c 100%);
}
.carousel-band::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:3px;
  background:linear-gradient(90deg,var(--c-primary),var(--c-accent));
  opacity:.85;
}
.carousel-band a.bg-white{
  border-radius:12px;
  box-shadow:0 8px 24px rgba(15,20,45,.22);
  transition:transform .2s ease, box-shadow .2s ease;
}
.carousel-band a.bg-white:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 32px rgba(15,20,45,.32);
}

/* home product cards: price block boven, CTA op volle breedte in EEN kolom.
   Autoritatieve regels (staan bewust als laatste) — voorkomen de oude rij-lay-out
   waarbij de knop over de prijs en buiten de kaart uitstak. */
.pcard-foot{display:flex;flex-direction:column;align-items:stretch;gap:.6rem;width:100%;}
.pcard-foot .pcard-price{display:flex;flex-direction:column;gap:.1rem;min-width:0;}
.pcard-foot .pcard-price .pprice{white-space:nowrap;line-height:1.15;}
.pcard-foot .order-link{
  display:flex;width:100%;max-width:100%;box-sizing:border-box;
  align-self:stretch;justify-content:center;align-items:center;gap:.4rem;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;
  flex:0 0 auto;margin:0;}

/* Footer promo tiles: portrait 4:5 bronbeelden vullen nu het hele vlak (geen witte balken) */
.promo-media{
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center;
  background:#fff;
  transition:transform .35s ease;
}
.group:hover .promo-media{transform:scale(1.04);}

/* Blog & nieuws kaarten: de bronbeelden zijn staand (800x1000). Met object-cover in
   een lage strook werd het onderwerp weggesneden. Nu volledig in beeld (contain). */
.blog-card{display:flex;flex-direction:column;}
.blog-card-media{
  display:block;
  width:100%;
  height:11rem;
  object-fit:cover;
  object-position:center;
  background:#f4f5f7;
}
@media (max-width:767px){ .promo-media{aspect-ratio:1/1;} }

/* Secundaire banner (Windows 10 EOL): de donkere achtergrondafbeelding bedekte de
   call-to-action. Beeld staat nu onderaan in de stapel, de tekst + knop erboven. */
.banner-eol{position:relative;border-radius:.375rem;overflow:hidden;isolation:isolate;}
.banner-eol-img{display:block;width:100%;height:390px;object-fit:cover;object-position:left center;position:relative;z-index:0;}
.banner-eol::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(10,14,32,0) 40%,rgba(10,14,32,.55) 62%,rgba(10,14,32,.8) 100%);}
.banner-eol-content{position:absolute;z-index:2;top:0;right:0;bottom:0;width:44%;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:.65rem;padding:2rem 2.5rem;}
.banner-eol-kicker{color:var(--c-accent,#f2ab55);font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;}
.banner-eol-title{color:#fff;font-size:2.1rem;line-height:1.1;font-weight:800;margin:0;}
.banner-eol-text{color:rgba(255,255,255,.85);font-size:.95rem;margin:0;max-width:34ch;}
.banner-eol-btn{display:inline-flex;align-items:center;gap:.4rem;margin-top:.4rem;
  background:var(--c-primary,#eb586a);color:#fff;font-weight:600;font-size:.95rem;
  padding:.7rem 1.4rem;border-radius:8px;transition:filter .2s ease,transform .2s ease;}
.banner-eol-btn:hover{filter:brightness(1.08);transform:translateY(-1px);color:#fff;}
@media (max-width:1023px){
  .banner-eol-content{width:52%;padding:1.5rem;}
  .banner-eol-title{font-size:1.6rem;}
}
@media (max-width:767px){
  .banner-eol-img{height:320px;object-position:center top;}
  .banner-eol::after{background:linear-gradient(180deg,rgba(10,14,32,0) 25%,rgba(10,14,32,.75) 60%,rgba(10,14,32,.9) 100%);}
  .banner-eol-content{width:100%;top:auto;justify-content:flex-end;padding:1.25rem;}
  .banner-eol-text{display:none;}
}

/* PDP: stepper − [n] + in één lijn met de winkelwagen-knop */
.qty-stepper-pdp{height:48px;border-radius:.5rem;border-color:#e0e0e0;background:#fff;overflow:hidden;}
.qty-stepper-pdp .qty-btn{width:44px;height:100%;background:#fff;border:none;color:var(--c-secondary);font-size:1.25rem;font-weight:700;line-height:1;cursor:pointer;transition:background .15s,color .15s;}
.qty-stepper-pdp .qty-btn:hover{background:var(--c-primary);color:#fff;}
.qty-stepper-pdp .qty-input{width:52px;height:100%;line-height:48px;font-size:1rem;font-weight:700;border-left:1px solid #eee;border-right:1px solid #eee;}

/* PDP: tabbladen omschrijving / specificaties / reviews */
.ptabs-nav{display:flex;gap:.25rem;flex-wrap:wrap;border-bottom:1px solid #e0e0e0;margin-bottom:1.5rem;}
.ptab-btn{appearance:none;background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-1px;padding:.75rem 1.25rem;font-size:.95rem;font-weight:700;color:var(--c-muted,#767676);cursor:pointer;transition:color .15s,border-color .15s;}
.ptab-btn:hover{color:var(--c-secondary);}
.ptab-btn.is-active{color:var(--c-secondary);border-bottom-color:var(--c-primary);}
.ptab-panel{display:none;}
.ptab-panel.is-active{display:block;}

/* PDP: aanbevolen producten in één rij met pijlen */
.rel-carousel{position:relative;}
.rel-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3rem)/4);gap:1rem;overflow-x:auto;scroll-snap-type:x proximity;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;padding:8px 2px 12px;margin:-8px -2px -12px;}
.rel-rail::-webkit-scrollbar{display:none;}
.rel-item{scroll-snap-align:start;min-width:0;}
.rel-item > *{height:100%;}
.rel-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:40px;height:40px;border-radius:999px;border:1px solid #e0e0e0;background:#fff;color:var(--c-secondary);font-size:1.5rem;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.12);cursor:pointer;transition:background .15s,color .15s,opacity .15s;}
.rel-nav:hover{background:var(--c-primary);color:#fff;border-color:var(--c-primary);}
.rel-nav-prev{left:-20px;}
.rel-nav-next{right:-20px;}
.rel-nav[hidden]{display:none;}
@media (max-width:1330px){.rel-nav-prev{left:4px;}.rel-nav-next{right:4px;}}
@media (max-width:1023px){.rel-rail{grid-auto-columns:calc((100% - 2rem)/3);}}
@media (max-width:767px){.rel-rail{grid-auto-columns:calc((100% - 1rem)/2);}.rel-nav{width:34px;height:34px;font-size:1.25rem;}}

/* review star rating picker */
.star-btn{background:none;border:0;padding:0 .1rem;line-height:1;cursor:pointer;color:inherit;transition:color .15s ease}
.star-btn:hover,.star-btn i.fa-solid{color:#f5a623}

/* Товарные карусели на главной: карточки лежат прямо в рельсе */
.rel-rail > .pcard{scroll-snap-align:start;min-width:0;height:100%;}

/* Uitgelicht: категории одной строкой-каруселью, стрелки листают по одной плитке */
.container-r .cat-carousel .rel-rail{grid-auto-columns:calc((100% - 4rem)/5);scroll-snap-type:x mandatory;align-items:stretch;}
.container-r .cat-carousel .rel-rail > a{scroll-snap-align:start;min-width:0;align-self:start;}
@media (max-width:1023px){.container-r .cat-carousel .rel-rail{grid-auto-columns:calc((100% - 2rem)/3);}}
@media (max-width:767.98px){
  .container-r .cat-carousel .rel-rail{grid-auto-columns:100%;gap:1rem;}
  .container-r .cat-carousel .rel-nav-prev{left:6px;}
  .container-r .cat-carousel .rel-nav-next{right:6px;}
}

/* Footer-promo плитки: одна строка-карусель, стрелки листают по одной плитке */
.container-r .promo-carousel .rel-rail{grid-auto-columns:calc((100% - 4rem)/5);scroll-snap-type:x mandatory;align-items:stretch;}
.container-r .promo-carousel .rel-rail > a{scroll-snap-align:start;min-width:0;align-self:stretch;}
@media (max-width:1023px){.container-r .promo-carousel .rel-rail{grid-auto-columns:calc((100% - 2rem)/3);}}
@media (max-width:767.98px){
  .container-r .promo-carousel .rel-rail{grid-auto-columns:calc((100% - 1rem)/2);gap:1rem;}
  .container-r .promo-carousel .rel-nav-prev{left:2px;}
  .container-r .promo-carousel .rel-nav-next{right:2px;}
}

/* Красивая пагинация в стиле сайта (pill-кнопки, как .order-link/.btn-cart-pill) */
.rd-pagination-wrap{display:flex;justify-content:center;margin-top:1.5rem;}
.rd-pagination{gap:.5rem;margin:0;}
.rd-pagination .page-link{min-width:40px;height:40px;padding:0 .75rem;border-radius:999px;border:1px solid var(--c-border);
  background:#fff;color:var(--c-secondary);font-weight:700;font-size:.95rem;box-shadow:0 1px 2px rgba(0,0,0,.04);
  transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease;}
.rd-pagination .page-link:hover{background:var(--c-primary);border-color:var(--c-primary);color:#fff;transform:translateY(-1px);}
.rd-pagination .page-item.active .page-link{background:var(--c-primary);border-color:var(--c-primary);color:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.12);transform:none;}
.rd-pagination .page-item.disabled .page-link{opacity:.35;pointer-events:none;box-shadow:none;}
.rd-pagination .page-nav{padding:0;font-size:.8rem;}
#review .rd-pagination-wrap{justify-content:flex-start;}

/* Итоговая колонка (Overzicht / чекаут) следует за экраном при скролле */
@media (min-width:1024px){
  .summary-sticky{position:sticky;top:calc(var(--rd-header-h, 88px) + 1rem);align-self:start;
    max-height:calc(100vh - var(--rd-header-h, 88px) - 2rem);overflow-y:auto;}
}

/* ---- Sitemap (information/sitemap) ---- */
.sitemap-ico{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:999px;background:#fff;color:var(--c-primary);border:1px solid #e6e6e6;flex:none;}
.sitemap-group{break-inside:avoid;}
.sitemap-lvl1{display:block;font-weight:800;color:var(--c-secondary);padding-bottom:.5rem;margin-bottom:.5rem;border-bottom:2px solid var(--c-primary);}
.sitemap-lvl1:hover{color:var(--c-primary);}
.sitemap-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;}
.sitemap-list-sub{margin-top:.35rem;padding-left:.9rem;border-left:1px solid #e2e4e8;}
.sitemap-link{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;color:var(--c-secondary);opacity:.85;transition:color .15s,transform .15s;}
.sitemap-link::before{content:"";width:.35rem;height:.35rem;border-radius:999px;background:var(--c-primary);opacity:.5;flex:none;}
.sitemap-link:hover{color:var(--c-primary);opacity:1;transform:translateX(2px);}
.sitemap-link:hover::before{opacity:1;}
.sitemap-cols{column-count:1;column-gap:2rem;}
@media (min-width:640px){.sitemap-cols{column-count:2;}}
.sitemap-cols .sitemap-group{display:inline-block;width:100%;margin-bottom:1.5rem;}

/* ---- Merkenoverzicht (product/manufacturer) ---- */
.brands-index{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;background:var(--c-surface,#eeeeee);border-radius:14px;padding:.85rem 1.1rem;margin-bottom:2rem;position:sticky;top:calc(var(--rd-header-h, 88px) + .25rem);z-index:20;}
.brands-index-label{font-weight:800;color:var(--c-secondary);font-size:.85rem;}
.brands-index-links{display:flex;flex-wrap:wrap;gap:.35rem;}
.brands-index-links a{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 .4rem;border-radius:999px;background:#fff;color:var(--c-secondary);font-weight:700;font-size:.85rem;border:1px solid #e2e4e8;transition:background .15s,color .15s,border-color .15s;}
.brands-index-links a:hover{background:var(--c-primary);border-color:var(--c-primary);color:#fff;}
.brands-letter{margin-bottom:2.25rem;scroll-margin-top:calc(var(--rd-header-h, 88px) + 4rem);}
.brands-letter-title{display:flex;align-items:center;gap:.85rem;font-size:1.05rem;font-weight:900;color:var(--c-secondary);margin-bottom:1rem;}
.brands-letter-title span{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border-radius:10px;background:var(--c-primary);color:#fff;flex:none;}
.brands-letter-title::after{content:"";flex:1;height:1px;background:#e2e4e8;}
.brands-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
@media (min-width:640px){.brands-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (min-width:1024px){.brands-grid{grid-template-columns:repeat(5,minmax(0,1fr));}}
.brand-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.55rem;padding:1.1rem .75rem;background:#fff;border:1px solid #e6e6e6;border-radius:14px;transition:box-shadow .18s,transform .18s,border-color .18s;}
.brand-card:hover{border-color:var(--c-primary);box-shadow:0 10px 24px rgba(31,39,74,.10);transform:translateY(-3px);}
.brand-card-logo{display:flex;align-items:center;justify-content:center;width:100%;height:56px;}
.brand-card-logo img{max-width:100%;max-height:100%;object-fit:contain;filter:grayscale(1);opacity:.85;transition:filter .18s,opacity .18s;}
.brand-card:hover .brand-card-logo img{filter:none;opacity:1;}
.brand-card-initial{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:999px;background:var(--c-surface,#eeeeee);color:var(--c-secondary);font-weight:900;font-size:1.35rem;}
.brand-card-name{font-weight:700;color:var(--c-secondary);font-size:.92rem;line-height:1.25;}
.brand-card-total{font-size:.75rem;color:var(--c-muted,#6e6e73);}
.brand-card:hover .brand-card-name{color:var(--c-primary);}
.brands-empty{padding:2.5rem 0;text-align:center;}

/* --- Mijn account dashboard (account/account) --- */
.acct-hero{display:flex;align-items:center;gap:1rem;padding:1.4rem 1.5rem;border:1px solid #e6e6e6;border-radius:16px;background:linear-gradient(120deg,#fbfbfd 0%,#f3f4f8 100%);}
.acct-hero-avatar{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:999px;background:var(--c-primary);color:#fff;font-weight:900;font-size:1.5rem;line-height:1;}
.acct-hero .section-title{margin-bottom:.15rem;}
.acct-logout{margin-left:auto;flex:0 0 auto;display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.05rem;border:1px solid #d7d9e2;border-radius:var(--radius-btn,20px);background:#fff;color:var(--c-secondary);font-size:.85rem;font-weight:700;transition:border-color .18s,color .18s,box-shadow .18s;}
.acct-logout:hover{border-color:var(--c-primary);color:var(--c-primary);box-shadow:0 6px 16px rgba(31,39,74,.08);}
.acct-group-title{font-weight:800;color:var(--c-secondary);font-size:1.05rem;margin:0 0 .85rem;padding-left:.65rem;border-left:3px solid var(--c-primary);line-height:1.2;}
.acct-card{display:flex;align-items:center;gap:.9rem;padding:1rem 1.05rem;background:#fff;border:1px solid #e6e6e6;border-radius:14px;transition:box-shadow .18s,transform .18s,border-color .18s;}
.acct-card:hover{border-color:var(--c-primary);box-shadow:0 10px 24px rgba(31,39,74,.10);transform:translateY(-2px);}
.acct-card-ico{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:var(--c-surface,#eeeeee);color:var(--c-secondary);font-size:1rem;transition:background .18s,color .18s;}
.acct-card:hover .acct-card-ico{background:var(--c-primary);color:#fff;}
.acct-card-title{display:block;font-weight:700;color:var(--c-secondary);font-size:.95rem;line-height:1.25;}
.acct-card-desc{display:block;margin-top:.15rem;font-size:.78rem;color:var(--c-muted,#6e6e73);line-height:1.35;}
.acct-card-arrow{flex:0 0 auto;margin-left:auto;width:18px;height:18px;color:#b9bcc9;transition:color .18s,transform .18s;}
.acct-card:hover .acct-card-arrow{color:var(--c-primary);transform:translateX(3px);}
@media (max-width:480px){.acct-hero{flex-wrap:wrap;}.acct-logout{margin-left:0;width:100%;justify-content:center;}}

/* --- Mobiele filter-drawer (categorie / zoeken) --- */
.fdrawer-toggle{position:absolute;opacity:0;width:0;height:0;pointer-events:none;}
.fdrawer-btn{display:none;}
.fdrawer-overlay{display:none;}
.fdrawer-head{display:none;}
@media (max-width:1023.98px){
  .container-r .fdrawer-btn{display:inline-flex;align-items:center;gap:.5rem;align-self:start;justify-self:start;padding:.55rem 1rem;border:1px solid #d9d9de;border-radius:.5rem;background:#fff;font-weight:600;font-size:.9rem;color:var(--c-secondary,#1d1d1f);cursor:pointer;}
  .container-r .fdrawer-btn svg{width:18px;height:18px;}
  .container-r .fdrawer-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;visibility:hidden;transition:opacity .25s;z-index:1200;}
  .container-r .fdrawer-aside{position:fixed;top:0;right:0;height:100%;width:84%;max-width:340px;background:#fff;z-index:1201;transform:translateX(100%);transition:transform .25s ease;overflow-y:auto;padding:1rem 1.15rem 2rem;box-shadow:-8px 0 24px rgba(0,0,0,.12);}
  .container-r .fdrawer-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid #eee;}
  .container-r .fdrawer-close{font-size:1.6rem;line-height:1;cursor:pointer;color:#6e6e73;padding:0 .25rem;}
  .container-r .fdrawer-dhead{display:none;}
  .fdrawer-toggle:checked ~ .fdrawer-overlay{opacity:1;visibility:visible;}
  .fdrawer-toggle:checked ~ .fdrawer-aside{transform:translateX(0);}
}

/* ===== cookie consent modal ===== */
html.ck-lock,html.ck-lock body{overflow:hidden;}
.ck-overlay{position:fixed;inset:0;z-index:9999;background:rgba(31,39,74,.55);
  display:flex;align-items:center;justify-content:center;padding:1.5rem;
  animation:ck-fade .25s ease;}
@keyframes ck-fade{from{opacity:0}to{opacity:1}}
@keyframes ck-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.ck-overlay .ck-card{position:relative;background:#fff;border-radius:1rem;width:100%;max-width:1060px;
  max-height:90vh;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;padding:2.25rem 2.5rem 2.5rem;
  box-shadow:0 24px 60px rgba(31,39,74,.28);animation:ck-rise .3s ease;}
.ck-overlay .ck-close{position:absolute;top:1rem;right:1.25rem;background:none;border:none;cursor:pointer;
  font-size:1.6rem;line-height:1;color:var(--c-muted);transition:color .18s;}
.ck-overlay .ck-close:hover{color:var(--c-primary);}
.ck-overlay .ck-head{display:flex;align-items:center;gap:1rem;margin-bottom:1.6rem;}
.ck-overlay .ck-icon{width:52px;height:52px;flex:0 0 52px;border-radius:50%;background:var(--c-primary);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;font-size:1.35rem;}
.ck-overlay .ck-head h2{font-size:1.6rem;font-weight:800;color:var(--c-primary);margin:0;}
.ck-overlay .ck-body{display:grid;grid-template-columns:1fr 1fr 300px;gap:2rem;align-items:start;}
.ck-overlay .ck-col{font-size:.9rem;line-height:1.6;color:var(--c-text);}
.ck-overlay .ck-col p{margin:0 0 .9rem;}
.ck-overlay .ck-lead{font-weight:700;}
.ck-overlay .ck-list{list-style:none;margin:0 0 .9rem;padding:0;}
.ck-overlay .ck-list li{position:relative;padding-left:1rem;margin-bottom:.5rem;}
.ck-overlay .ck-list li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--c-primary);}
.ck-overlay .ck-note{color:var(--c-muted);}
.ck-overlay .ck-links{display:flex;gap:1.25rem;margin:0;}
.ck-overlay .ck-links a{color:var(--c-primary);text-decoration:underline;font-weight:600;}
.ck-overlay .ck-actions{display:flex;flex-direction:column;gap:.75rem;}
.ck-overlay .ck-btn{width:100%;justify-content:center;padding:.85rem 1.4rem;font-size:.95rem;}
.ck-overlay .ck-btn-accept{background:var(--c-primary);}
.ck-overlay .ck-btn-accept:hover{background:var(--c-primary-hover);}
.ck-overlay button.btn-ghost-line.ck-btn{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;transition:border-color .18s,color .18s;}
.ck-overlay button.btn-ghost-line.ck-btn:hover{border-color:var(--c-primary);color:var(--c-primary);}
.ck-overlay .ck-link-btn{background:none;border:none;cursor:pointer;color:var(--c-primary);
  text-decoration:underline;font-weight:600;font-size:.9rem;padding:.25rem;}
.ck-overlay .ck-card::-webkit-scrollbar{width:0;height:0;display:none;}
@media (max-width:1023.98px){
  .ck-overlay .ck-body{grid-template-columns:1fr 1fr;}
  .ck-overlay .ck-actions{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;align-items:center;}
  .ck-overlay .ck-actions .ck-btn{width:auto;flex:1 1 200px;}
}
@media (max-width:767.98px){
  .ck-overlay{padding:1rem;align-items:flex-end;}
  .ck-overlay .ck-card{padding:1.5rem 1.25rem 1.75rem;max-height:88vh;border-radius:1rem;}
  .ck-overlay .ck-head h2{font-size:1.25rem;}
  .ck-overlay .ck-icon{width:42px;height:42px;flex:0 0 42px;font-size:1.1rem;}
  .ck-overlay .ck-body{grid-template-columns:1fr;gap:1.1rem;}
  .ck-overlay .ck-actions{flex-direction:row;flex-wrap:nowrap;order:1;gap:.5rem;}
  .ck-overlay .ck-actions .ck-btn{width:auto;flex:1 1 0;min-width:0;min-height:0;height:auto;
    padding:.55rem .75rem;font-size:.85rem;line-height:1.2;border-radius:.6rem;gap:.35rem;}
  .ck-overlay .ck-actions .ck-btn i{font-size:.85em;}
}

/* ---------- account subpages (edit / password / address / orders / returns / ...) ---------- */
.acct-panel{background:#fff;border:1px solid #e6e6e6;border-radius:14px;padding:1.25rem 1.35rem;}
.acct-panel + .acct-panel{margin-top:1rem;}
.acct-panel-title{font-weight:800;color:var(--c-secondary);font-size:1rem;margin:0 0 1rem;padding-left:.65rem;border-left:3px solid var(--c-primary);line-height:1.2;}
.acct-lead{color:var(--c-muted,#6e6e73);font-size:.9rem;margin:-.35rem 0 1.4rem;}
.acct-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.acct-grid .acct-col-2{grid-column:1 / -1;}
@media (max-width:640px){.acct-grid{grid-template-columns:minmax(0,1fr);}}
.acct-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1.4rem;}
.acct-actions .btn-verbrug,.acct-actions .btn-ghost-line{justify-content:center;}
@media (max-width:640px){.acct-actions{flex-direction:column-reverse;align-items:stretch;}
  .acct-actions > *{width:100%;text-align:center;justify-content:center;}}
.acct-empty{border:1px dashed #d7d9e2;border-radius:14px;background:#fbfbfd;padding:2rem 1.25rem;text-align:center;color:var(--c-muted,#6e6e73);font-size:.95rem;}
.acct-empty i{display:block;font-size:1.6rem;color:#b9bcc9;margin-bottom:.6rem;}
.acct-note{font-size:.85rem;color:var(--c-muted,#6e6e73);}
.acct-alert{border-radius:12px;font-size:.9rem;padding:.85rem 1.05rem;margin-bottom:1.25rem;}
.acct-alert-ok{border:1px solid rgba(31,157,85,.4);background:rgba(31,157,85,.06);color:#1f7a44;}
.acct-alert-err{border:1px solid rgba(217,45,32,.4);background:rgba(217,45,32,.06);color:#b42318;}

/* data tables that collapse into cards on mobile */
.acct-tablewrap{border:1px solid #e6e6e6;border-radius:14px;overflow:hidden;background:#fff;}
.acct-table{width:100%;border-collapse:collapse;font-size:.9rem;}
.acct-table th{background:var(--c-surface,#f5f5f7);color:var(--c-secondary);font-weight:700;text-align:left;padding:.8rem 1rem;white-space:nowrap;}
.acct-table td{padding:.85rem 1rem;border-top:1px solid #ededf1;color:var(--c-secondary);vertical-align:middle;}
.acct-table .t-right{text-align:right;}
.acct-table .t-center{text-align:center;}
.acct-table a{color:var(--c-secondary);font-weight:600;}
.acct-table a:hover{color:var(--c-primary);}
.acct-tag{display:inline-block;padding:.2rem .6rem;border-radius:999px;background:var(--c-surface,#f5f5f7);color:var(--c-secondary);font-size:.75rem;font-weight:700;}
.acct-rowbtn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;border:1px solid #d7d9e2;border-radius:var(--radius-btn,20px);background:#fff;color:var(--c-secondary);font-size:.8rem;font-weight:700;transition:border-color .18s,color .18s;}
.acct-rowbtn:hover{border-color:var(--c-primary);color:var(--c-primary);}
.acct-rowbtn-danger:hover{border-color:var(--c-danger,#d92d20);color:var(--c-danger,#d92d20);}
@media (max-width:767.98px){
  .acct-tablewrap{border:0;border-radius:0;background:transparent;overflow:visible;}
  .acct-table,.acct-table tbody,.acct-table tr,.acct-table td{display:block;width:100%;}
  .acct-table thead{display:none;}
  .acct-table tr{border:1px solid #e6e6e6;border-radius:14px;background:#fff;padding:.35rem .9rem;margin-bottom:.75rem;}
  .acct-table td{border-top:0;padding:.5rem 0;display:flex;gap:1rem;align-items:center;justify-content:space-between;text-align:right;}
  .acct-table tr td + td{border-top:1px solid #f0f0f4;}
  .acct-table td::before{content:attr(data-label);flex:0 0 auto;font-weight:700;color:var(--c-muted,#6e6e73);font-size:.78rem;text-align:left;}
  .acct-table td:empty{display:none;}
  .acct-table td.t-right,.acct-table td.t-center{text-align:right;}
  .acct-table td .acct-rowbtn{width:auto;}
}
.acct-back{margin-top:1.5rem;display:inline-flex;}
.acct-defs{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem 1.5rem;font-size:.9rem;}
.acct-defs dt{color:var(--c-muted,#6e6e73);font-size:.78rem;margin-bottom:.15rem;}
.acct-defs dd{margin:0;font-weight:700;color:var(--c-secondary);}

/* Productkaart: prijs links, "In winkelwagen" rechts op EEN regel.
   Staat bewust als laatste — overschrijft de oudere kolom-lay-out hierboven. */
.pcard-foot{
  display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;
  justify-content:space-between;gap:.6rem;width:100%;
}
.pcard-foot .pcard-price{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.1rem;}
.pcard-foot .pcard-price .pprice{white-space:nowrap;line-height:1.15;font-size:1.15rem;}
.pcard-foot .order-link,.pcard .order-link,.pcard a.order-link{
  width:auto;max-width:100%;flex:0 0 auto;align-self:center;margin:0;
  display:inline-flex;align-items:center;justify-content:center;gap:.35rem;
  white-space:nowrap;overflow:visible;
  padding:.5rem .85rem;font-size:.8rem;line-height:1.15;border-radius:999px;
}
@media (max-width:1279px){
  .pcard-foot .pcard-price .pprice{font-size:1.05rem;}
  .pcard-foot .order-link,.pcard a.order-link{padding:.45rem .7rem;font-size:.75rem;}
}
@media (max-width:640px){
  .pcard-foot{gap:.4rem;}
  .pcard-foot .pcard-price .pprice{font-size:1rem;}
  .pcard-foot .order-link,.pcard a.order-link{padding:.45rem .6rem;font-size:0;gap:0;}
  .pcard-foot .order-link i,.pcard a.order-link i{font-size:.85rem;}
  .pcard-foot .order-link span{display:none;}
}

/* PDP: кнопка "In winkelwagen" — текст всегда в одну строку */
.btn-cart-pill{white-space:nowrap;flex:0 0 auto;}
.btn-cart-pill span{white-space:nowrap;}
@media (max-width:400px){.btn-cart-pill{padding:0 1rem;font-size:.95rem;}}

/* Стрелки каруселей: ровные, не наезжают на карточки (особенно на мобиле) */
.rel-nav{-webkit-tap-highlight-color:transparent;padding:0;box-sizing:border-box;}
.rel-nav:focus{outline:none;}
.rel-nav:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px;}
/* на тач-устройствах не «залипает» hover-заливка */
@media (hover:none){.rel-nav:hover{background:#fff;color:var(--c-secondary);border-color:#e0e0e0;}}
@media (max-width:767.98px){
  /* освобождаем гуттеры под стрелки, чтобы они стояли снаружи карточки */
  .container-r .cat-carousel,
  .container-r .promo-carousel{padding-left:42px;padding-right:42px;}
  .container-r .cat-carousel .rel-nav-prev,
  .container-r .promo-carousel .rel-nav-prev{left:0;}
  .container-r .cat-carousel .rel-nav-next,
  .container-r .promo-carousel .rel-nav-next{right:0;}
  .container-r .cat-carousel .rel-nav,
  .container-r .promo-carousel .rel-nav{width:34px;height:34px;font-size:1.25rem;}
}

/* --- Carrousel-pijlen: chevron exact in het midden van de knop ---
   De tekstglyphs ‹ / › (&#8249;/&#8250;) staan in Lato boven het optische midden,
   waardoor de pijl scheef in de ronde knop hing. We verbergen de glyph en
   tekenen de chevron met een pseudo-element, zodat hij altijd gecentreerd is. */
.rel-nav{font-size:0 !important;line-height:0;padding:0;box-sizing:border-box;
  position:absolute;align-items:center;justify-content:center;text-indent:0;overflow:hidden;}
.rel-nav::before{content:"";display:block;width:14px;height:14px;transform:none;
  background-color:currentColor;
  -webkit-mask:var(--rd-chev) center/14px 14px no-repeat;
  mask:var(--rd-chev) center/14px 14px no-repeat;}
/* SVG-chevron: de vorm zit al exact in het midden van zijn viewBox, dus geen
   translate-correctie meer nodig (de oude geroteerde border-L stond scheef). */
.rel-nav-prev{--rd-chev:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.5 4.5 8 12l7.5 7.5' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}
.rel-nav-next{--rd-chev:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.5 4.5 16 12l-7.5 7.5' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}
@media (max-width:767.98px){.rel-nav::before{width:12px;height:12px;
  -webkit-mask-size:12px 12px;mask-size:12px 12px;}}
