
/* ============================================================
   PRODUCTPAGINA - volledige opbouw (vervangt alle eerdere regels)
   ============================================================ */
.pdp{padding-bottom:var(--xl)}
.crumbs.pdp__crumbs,
.pepschep .woocommerce-breadcrumb{font-size:13px;color:var(--muted);margin:0 0 18px;line-height:1.5}
.crumbs.pdp__crumbs a:hover{color:var(--accent)}

.pdp__grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:48px;align-items:start}
.pdp__grid>*{min-width:0}
.pdp__media{min-width:0;position:sticky;top:96px}
.pdp__summary{min-width:0}

/* ---- Galerij ---- */
.pgal{min-width:0}
.pgal__stage{position:relative;border-radius:var(--r-md);overflow:hidden;background:#F2F3F7}
.pgal__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0;padding:0;list-style:none}
.pgal__track::-webkit-scrollbar{display:none}
.pgal__slide{flex:0 0 100%;width:100%;margin:0;scroll-snap-align:center;scroll-snap-stop:always;
  display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;padding:26px}
.pgal__slide img,.pgal__img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;
  -webkit-user-drag:none;user-select:none}

.pgal__badge{position:absolute;top:14px;left:14px;z-index:3;background:var(--accent);color:#fff;
  font-family:var(--font-display);font-weight:600;font-size:12px;letter-spacing:.04em;text-transform:uppercase;
  padding:6px 12px;border-radius:var(--r-pill)}

.pgal__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border:0;
  border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 4px 16px rgba(14,18,32,.14);cursor:pointer;
  display:none;align-items:center;justify-content:center;transition:background .15s ease}
.pgal__nav:hover{background:#fff}
.pgal__nav::before{content:"";width:9px;height:9px;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.pgal__nav--prev{left:14px}
.pgal__nav--prev::before{transform:rotate(45deg);margin-left:3px}
.pgal__nav--next{right:14px}
.pgal__nav--next::before{transform:rotate(-135deg);margin-right:3px}
.pgal--multi .pgal__nav{display:inline-flex}

.pgal__dots{position:absolute;left:0;right:0;bottom:12px;z-index:3;display:none;justify-content:center;gap:7px}
.pgal__dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(14,18,32,.24);cursor:pointer;
  transition:width .2s ease,background .2s ease}
.pgal__dot.is-active{width:22px;border-radius:var(--r-pill);background:var(--ink)}

.pgal__thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.pgal__thumb{flex:0 0 auto;width:72px;height:72px;padding:6px;border:1px solid var(--line);border-radius:12px;
  background:#F7F8FC;cursor:pointer;transition:border-color .15s ease}
.pgal__thumb img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;display:block}
.pgal__thumb:hover{border-color:var(--muted)}
.pgal__thumb.is-active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(46,75,255,.16)}

/* ---- Koopblok ---- */
.pepschep .pdp__summary.summary{border:0;padding:0;margin:0;width:auto;float:none}
.pdp__summary .product_title{font-family:var(--font-display);font-weight:600;font-size:clamp(25px,3vw,36px);
  line-height:1.12;letter-spacing:-.015em;color:var(--ink);margin:0 0 12px}
.pdp__summary .price{display:block;font-family:var(--font-display);font-weight:600;font-size:27px;
  color:var(--ink);margin:0 0 14px;line-height:1.2}
.pdp__summary .price del{color:var(--muted);font-weight:500;font-size:19px;margin-right:8px;opacity:.75}
.pdp__summary .price ins{text-decoration:none;color:var(--accent)}
.pdp__summary .woocommerce-product-details__short-description{color:var(--muted);font-size:15.5px;line-height:1.65;margin:0 0 18px}
.pdp__summary .woocommerce-product-details__short-description p{margin:0 0 10px}
.pdp__summary .woocommerce-product-details__short-description p:last-child{margin-bottom:0}

.pdp__deliver{display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap;background:#EAF7EF;color:#166534;
  border-radius:var(--r-pill);padding:9px 16px;font-size:14px;font-weight:600;margin:0 0 16px;line-height:1.35}
.pdp__deliverdot{width:8px;height:8px;border-radius:50%;background:#16A34A;flex:none}

.pdp__usps{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:9px}
.pdp__usps li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;line-height:1.45;color:var(--ink)}
.pep-check{flex:none;width:17px;height:17px;margin-top:2px;border-radius:50%;background:rgba(46,75,255,.12);position:relative}
.pep-check::before{content:"";position:absolute;left:5px;top:4px;width:4px;height:8px;
  border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(42deg)}

.pdp__pay{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.pdp__pay>span{display:block;font-size:12.5px;color:var(--muted);margin-bottom:9px}
.pdp__paylist{display:flex;flex-wrap:wrap;gap:7px}
.pdp__paychip{background:#fff;border:1px solid var(--line);border-radius:7px;padding:6px 10px;
  font-family:var(--font-display);font-weight:600;font-size:11.5px;line-height:1;color:var(--ink)}

/* ---- Formulier, aantal en knop ---- */
.pdp__summary form.cart{margin:20px 0 0;display:block}
.pdp__summary form.cart::after{content:"";display:block;clear:both}
.pdp__summary .quantity{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--r-pill);
  overflow:hidden;background:#fff;margin:0 10px 10px 0;vertical-align:middle}
.pdp__summary .quantity input[type="number"]{width:64px;height:52px;border:0;text-align:center;font-family:var(--font-body);
  font-weight:600;font-size:15px;background:transparent;color:var(--ink);-moz-appearance:textfield}
.pdp__summary .quantity input::-webkit-outer-spin-button,
.pdp__summary .quantity input::-webkit-inner-spin-button{opacity:1;height:32px}
.pepschep .pdp__summary .single_add_to_cart_button{display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:14px 30px;border:0;border-radius:var(--r-pill);background:var(--accent);color:#fff;
  font-family:var(--font-display);font-weight:600;font-size:16px;cursor:pointer;transition:background .15s ease;
  vertical-align:middle;margin-bottom:10px}
.pepschep .pdp__summary .single_add_to_cart_button:hover{background:var(--accent-ink)}
.pepschep .pdp__summary .single_add_to_cart_button.disabled{background:var(--line);color:var(--muted);cursor:not-allowed}
.pdp__summary .stock.out-of-stock{color:#B42318;font-weight:600;font-size:14.5px;margin:10px 0 0}
.pdp__summary .product_meta{margin-top:18px;font-size:13px;color:var(--muted);line-height:1.7}
.pdp__summary .product_meta a{color:var(--muted)}
.pdp__summary .product_meta a:hover{color:var(--accent)}

/* ---- Varianten ---- */
.pdp__summary .variations{width:100%;border:0;margin:18px 0 0;display:grid;gap:14px}
.pdp__summary .variations tbody,.pdp__summary .variations tr{display:contents}
.pdp__summary .variations th,.pdp__summary .variations td{display:block;padding:0;border:0;text-align:left;width:auto}
.pdp__summary .variations th label{font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--ink);
  margin-bottom:7px;display:block}
.pdp__summary .variations select{width:100%;min-height:50px;padding:0 40px 0 16px;border:1px solid var(--line);
  border-radius:14px;background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E1220' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/16px;
  font-family:var(--font-body);font-size:15px;color:var(--ink);-webkit-appearance:none;appearance:none;cursor:pointer}
.pdp__summary .variations select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(46,75,255,.14)}
.pdp__summary .reset_variations{display:inline-block;margin-top:8px;font-size:13px;font-weight:600;color:var(--muted)}
.pdp__summary .reset_variations:hover{color:var(--accent)}
.pdp__summary .woocommerce-variation-price{margin:16px 0 0}
.pdp__summary .woocommerce-variation-price .price{font-size:24px;margin:0}
.pdp__summary .woocommerce-variation-availability{margin-top:8px;font-size:14px;color:var(--muted)}

/* ---- Extra Product Options (custom velden) ---- */
.pdp__summary .tc-extra-product-options,
.pdp__summary .tm-extra-product-options{min-width:0;max-width:100%;margin:20px 0 0;border:0;padding:0;background:none}
.pdp__summary .tc-extra-product-options *,
.pdp__summary .tm-extra-product-options *{max-width:100%}
.pdp__summary .tc-extra-product-options .tm-collapse,
.pdp__summary .tc-extra-product-options .tc-cell,
.pdp__summary .tc-extra-product-options .tm-cell{padding:0;margin:0;border:0;background:none;float:none;width:100%}
.pdp__summary .cpf-element{margin:0 0 16px;min-width:0}
.pdp__summary .tc-label-wrap label,
.pdp__summary .cpf-element label.tm-epo-field-label,
.pdp__summary .tm-epo-element-label{font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--ink);
  display:block;margin-bottom:7px;line-height:1.35}
.pdp__summary .tc-extra-product-options input[type="text"],
.pdp__summary .tc-extra-product-options input[type="number"],
.pdp__summary .tc-extra-product-options input[type="email"],
.pdp__summary .tc-extra-product-options textarea,
.pdp__summary .tc-extra-product-options select{width:100%;min-height:50px;padding:13px 16px;border:1px solid var(--line);
  border-radius:14px;background:#fff;font-family:var(--font-body);font-size:15px;color:var(--ink);
  -webkit-appearance:none;appearance:none}
.pdp__summary .tc-extra-product-options textarea{min-height:96px;line-height:1.55;resize:vertical}
.pdp__summary .tc-extra-product-options input:focus,
.pdp__summary .tc-extra-product-options textarea:focus,
.pdp__summary .tc-extra-product-options select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(46,75,255,.14)}
.pdp__summary .tc-epo-label-hidden,
.pdp__summary .tm-extra-product-options-inner>h3{display:none}

/* Logo- en afbeeldingkiezer */
.pdp__summary .tc-images-container,
.pdp__summary .tmcp-field-wrap .tc-images-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));
  gap:10px;margin:0;padding:0;list-style:none;float:none}
.pdp__summary .tc-images-container>*{float:none;width:auto;margin:0;padding:0}
.pdp__summary .tc-image-label,
.pdp__summary .tc-images-container label{display:block;border:1px solid var(--line);border-radius:14px;background:#fff;
  padding:8px;cursor:pointer;text-align:center;transition:border-color .15s ease,box-shadow .15s ease;margin:0}
.pdp__summary .tc-images-container label:hover{border-color:var(--muted)}
.pdp__summary .tc-images-container img{width:100%;height:62px;object-fit:contain;display:block;margin:0 auto}
.pdp__summary .tc-images-container .tc-label-wrap,
.pdp__summary .tc-images-container .tc-image-label-text{font-size:11.5px;line-height:1.3;color:var(--muted);
  margin-top:6px;display:block;word-break:break-word}
.pdp__summary .tc-images-container .tc-active,
.pdp__summary .tc-images-container label.tc-active,
.pdp__summary .tc-images-container .tcselected{border-color:var(--accent);box-shadow:0 0 0 2px rgba(46,75,255,.16)}
.pdp__summary .tm-extra-product-options .tc-price,
.pdp__summary .tc-extra-product-options .price{font-size:12.5px;color:var(--accent);font-weight:600}
.pdp__summary .tm-final-totals,
.pdp__summary .tc-totals-form{margin:16px 0 0;padding:14px 16px;border:1px solid var(--line);border-radius:14px;
  background:var(--surface);font-size:14.5px}
.pdp__summary .tm-final-totals .amount{font-family:var(--font-display);font-weight:600;color:var(--ink)}

/* ---- Secties onder het product ---- */
.pdpsections{margin-top:56px}
.pdpsections__inner{max-width:900px}
.pacc{border-top:1px solid var(--line)}
.pacc:last-child{border-bottom:1px solid var(--line)}
.pacc__btn{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:19px 2px;
  background:none;border:0;cursor:pointer;text-align:left;font-family:var(--font-display);font-weight:600;
  font-size:16.5px;line-height:1.4;color:var(--ink);transition:color .15s ease}
.pacc__btn:hover{color:var(--accent)}
.pacc__sign{position:relative;flex:none;width:26px;height:26px;border-radius:50%;background:var(--surface)}
.pacc__sign::before,.pacc__sign::after{content:"";position:absolute;left:50%;top:50%;background:currentColor;
  border-radius:2px;transform:translate(-50%,-50%);transition:transform .2s ease,opacity .2s ease}
.pacc__sign::before{width:12px;height:2px}
.pacc__sign::after{width:2px;height:12px}
.pacc__btn[aria-expanded="true"]{color:var(--accent)}
.pacc__btn[aria-expanded="true"] .pacc__sign::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.pacc__body{padding:0 2px 24px;color:var(--muted);font-size:15.5px;line-height:1.7}
.pacc__body>*:first-child{margin-top:0}
.pacc__body p{margin:0 0 12px}
.pacc__body ul,.pacc__body ol{margin:0 0 12px 20px}
.pacc__body li{margin-bottom:6px}
.pacc__body img{max-width:100%;height:auto;border-radius:12px}
.pacc__body table{width:100%;border-collapse:collapse;font-size:14.5px}
.pacc__body th,.pacc__body td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}
.pacc__body th{font-family:var(--font-display);font-weight:600;color:var(--ink);width:38%}
.pdp-video{position:relative;padding-top:56.25%;border-radius:14px;overflow:hidden}
.pdp-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---- Responsief ---- */
@media (max-width:1000px){
  .pdp__grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .pdp__media{position:static;top:auto}
  .pgal__thumbs{display:none}
  .pgal__dots{display:flex}
  .pgal__nav{display:none}
  .pgal--multi .pgal__nav{display:none}
  .pdpsections{margin-top:38px}
  .pdpsections__inner{max-width:none}
}
@media (max-width:640px){
  .pgal__slide{padding:16px}
  .pdp__summary .price{font-size:24px}
  .pdp__summary form.cart{margin-top:16px}
  .pdp__summary .quantity{margin-right:8px}
  .pepschep .pdp__summary .single_add_to_cart_button{width:calc(100% - 0px);padding:14px 20px}
  .pdp__usps li{font-size:14px}
  .pacc__btn{font-size:15.5px;padding:17px 2px}
  .pacc__body{font-size:15px}
  .pdp__summary .tc-images-container{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}
}
@media (max-width:420px){
  .pdp__summary .quantity{width:100%;margin-right:0;justify-content:center}
  .pdp__summary .quantity input[type="number"]{width:100%}
  .pepschep .pdp__summary .single_add_to_cart_button{width:100%}
}

/* Oude regels uit een vorige opzet overschrijven */
.pepschep .pdp__media,
.pepschep .pdp__summary{grid-row:auto;grid-column:auto}
.pepschep .pdp__grid{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:48px}
.pepschep .pdp__media{position:sticky;top:96px}
@media (max-width:1000px){
  .pepschep .pdp__grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .pepschep .pdp__media{position:static;top:auto}
}

/* Logokiezer: cellen even breed en even hoog */
.pdp__summary .tc-images-container{align-items:stretch}
.pdp__summary .tc-images-container>li,
.pdp__summary .tc-images-container>.tmcp-field-wrap{display:block!important;width:100%!important;height:100%;float:none;margin:0;padding:0;list-style:none}
.pdp__summary .tc-images-container .tmcp-field-wrap-inner,
.pdp__summary .tc-images-container .tc-field-label-wrap{display:block;width:100%;height:100%;padding:0;margin:0}
.pdp__summary .tc-images-container label.tm-epo-field-label{display:flex;flex-direction:column;align-items:center;
  justify-content:flex-start;gap:6px;height:100%;width:100%;border:1px solid var(--line);border-radius:14px;
  background:#fff;padding:9px 8px;cursor:pointer;text-align:center;margin:0;
  transition:border-color .15s ease,box-shadow .15s ease}
.pdp__summary .tc-images-container label.tm-epo-field-label:hover{border-color:var(--muted)}
.pdp__summary .tc-images-container label.tm-epo-field-label img{width:100%;height:54px;object-fit:contain;margin:0}
.pdp__summary .tc-images-container label.tm-epo-field-label .tc-label,
.pdp__summary .tc-images-container label.tm-epo-field-label .tc-label-wrap{font-size:11px;line-height:1.25;color:var(--muted);
  display:block;word-break:break-word;margin:0}
.pdp__summary .tc-images-container label.tc-active,
.pdp__summary .tc-images-container li.tc-active label,
.pdp__summary .tc-images-container li.tmcp-field-wrap.tc-active label{border-color:var(--accent);
  box-shadow:0 0 0 2px rgba(46,75,255,.16);background:#fff}

/* Logokiezer: flex i.p.v. grid, wint van de per-product CSS van de plugin */
.pepschep .pdp__summary .tc-images-container{display:flex!important;flex-wrap:wrap;gap:10px;align-items:stretch;
  margin:0;padding:0;list-style:none}
.pepschep .pdp__summary .tc-images-container>li.tmcp-field-wrap{flex:1 1 calc(33.333% - 7px)!important;
  max-width:none!important;width:auto!important;min-width:84px;margin:0!important;padding:0!important;display:block!important}
@media (max-width:380px){
  .pepschep .pdp__summary .tc-images-container>li.tmcp-field-wrap{flex:1 1 calc(50% - 5px)!important}
}

/* Logokiezer: label en afbeelding hard afdwingen (plugin-CSS is specifieker) */
.pepschep .pdp__summary .tc-images-container>li.tmcp-field-wrap .tmcp-field-wrap-inner,
.pepschep .pdp__summary .tc-images-container>li.tmcp-field-wrap .tc-field-label-wrap{display:block!important;
  width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important}
.pepschep .pdp__summary .tc-images-container>li.tmcp-field-wrap label.tm-epo-field-label{display:flex!important;
  flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;width:100%!important;height:100%!important;
  border:1px solid var(--line)!important;border-radius:14px!important;background:#fff!important;padding:9px 8px!important;
  margin:0!important;text-align:center;cursor:pointer;font-size:11px;line-height:1.25;color:var(--muted);
  transition:border-color .15s ease,box-shadow .15s ease}
.pepschep .pdp__summary .tc-images-container>li.tmcp-field-wrap label.tm-epo-field-label img{width:100%!important;
  height:56px!important;max-width:100%!important;min-width:0!important;object-fit:contain!important;margin:0!important;
  display:block!important;border-radius:0!important}
.pepschep .pdp__summary .tc-images-container>li.tmcp-field-wrap label.tm-epo-field-label:hover{border-color:var(--muted)!important}
.pepschep .pdp__summary .tc-images-container>li.tmcp-field-wrap.tc-active label.tm-epo-field-label,
.pepschep .pdp__summary .tc-images-container>li.tmcp-field-wrap label.tm-epo-field-label.tc-active{
  border-color:var(--accent)!important;box-shadow:0 0 0 2px rgba(46,75,255,.16)}

/* Logokiezer: definitieve maatvoering (overschrijft de regels hierboven) */
.pepschep .pdp__summary .tc-images-container{display:flex!important;flex-wrap:wrap!important;gap:10px!important;
  align-items:stretch!important;margin:0!important;padding:0!important}
.pepschep .pdp__summary .tc-images-container>li.tmcp-field-wrap{flex:0 0 calc(33.333% - 7px)!important;
  width:calc(33.333% - 7px)!important;max-width:calc(33.333% - 7px)!important;min-width:0!important;
  height:auto!important;margin:0!important;padding:0!important;display:block!important}
.pepschep .pdp__summary .tc-images-container>li.tmcp-field-wrap .tmcp-field-wrap-inner,
.pepschep .pdp__summary .tc-images-container>li.tmcp-field-wrap .tc-field-label-wrap{height:auto!important}
.pepschep .pdp__summary .tc-images-container>li.tmcp-field-wrap label.tm-epo-field-label{height:auto!important;
  min-height:0!important}
.pepschep .pdp__summary .tc-images-container>li.tmcp-field-wrap label.tm-epo-field-label img{height:52px!important}
@media (max-width:380px){
  .pepschep .pdp__summary .tc-images-container>li.tmcp-field-wrap{flex:0 0 calc(50% - 5px)!important;
    width:calc(50% - 5px)!important;max-width:calc(50% - 5px)!important}
}

/* Dubbele kaders weghalen: de binnenste span is de kaart */
.pepschep .pdp__summary .tc-images-container>li.tmcp-field-wrap label.tm-epo-field-label{border:0!important;
  padding:0!important;background:none!important;box-shadow:none!important;gap:0}
.pepschep .pdp__summary .tc-images-container .tc-label-wrap{display:flex!important;flex-direction:column;
  align-items:center;justify-content:flex-start;gap:6px;width:100%!important;height:100%!important;
  border:1px solid var(--line)!important;border-radius:14px!important;background:#fff!important;
  padding:9px 8px!important;margin:0!important;box-sizing:border-box;
  transition:border-color .15s ease,box-shadow .15s ease}
.pepschep .pdp__summary .tc-images-container .tc-label-wrap:hover{border-color:var(--muted)!important}
.pepschep .pdp__summary .tc-images-container .tc-label-wrap.tc-active,
.pepschep .pdp__summary .tc-images-container li.tc-active .tc-label-wrap{border-color:var(--accent)!important;
  box-shadow:0 0 0 2px rgba(46,75,255,.16)!important}
.pepschep .pdp__summary .tc-images-container .radio-image-label{font-size:11px!important;line-height:1.25!important;
  color:var(--muted)!important;background:none!important;padding:0!important;margin:0!important}
.pepschep .pdp__summary .tc-images-container img.tc-image{background:#F2F3F7!important;border-radius:9px!important}

/* Tekstvelden: geen kader om het label heen */
.pepschep .pdp__summary .cpf-element label.tm-epo-field-label:not(.tc-has-image){border:0!important;
  background:none!important;padding:0!important;box-shadow:none!important}
.pepschep .pdp__summary .tc-images-container label.tm-epo-field-label{width:100%!important;height:100%!important}

/* Lege variatieblokken nemen geen ruimte in */
.pdp__summary .woocommerce-variation:empty,
.pdp__summary .woocommerce-variation-description:empty,
.pdp__summary .single_variation:empty{display:none!important;margin:0!important;padding:0!important}
.pdp__summary .woocommerce-variation-add-to-cart{margin-top:16px}

/* ============================================================
   Galerij: zelfde universele beeldbehandeling als de kaarten
   Vaste verhouding 5/6, foto vult het kader, geen padding of blend
   ============================================================ */
.pepschep .pgal__stage{aspect-ratio:5/6;border-radius:16px;overflow:hidden;background:#F2F3F7;position:relative}
.pepschep .pgal__track{height:100%}
.pepschep .pgal__slide{flex:0 0 100%;width:100%;height:100%;aspect-ratio:auto;padding:0!important;
  margin:0;display:block;scroll-snap-align:center;scroll-snap-stop:always}
.pepschep .pgal__slide img,
.pepschep .pgal__img{width:100%!important;height:100%!important;object-fit:cover!important;
  object-position:50% 50%;mix-blend-mode:normal!important;display:block;border-radius:0}

.pepschep .pgal__thumb{width:64px;height:77px;padding:0!important;border:1px solid var(--line);
  border-radius:12px;overflow:hidden;background:#F2F3F7}
.pepschep .pgal__thumb img{width:100%!important;height:100%!important;object-fit:cover!important;
  mix-blend-mode:normal!important;display:block;border-radius:0}
.pepschep .pgal__thumb.is-active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(46,75,255,.16)}

/* Vergroten: hele foto tonen, niet bijsnijden */
.plight img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:12px;background:#F2F3F7}

/* Hoofdfoto vierkant, net als op fleeqers; kaarten blijven 5/6 */
.pepschep .pgal__stage{aspect-ratio:1/1}
.pepschep .pgal__thumb{width:70px;height:70px}

/* ============================================================
   Koopblok: bezorging, beoordeling, maten, prijs
   ============================================================ */

/* Bezorgblok in dezelfde vorm als het aftelblok */
.pepschep .pdp__deliver{display:flex;align-items:center;gap:11px;width:100%;background:#EAF7EF;
  border:1px solid #C6E9D5;border-radius:14px;padding:13px 15px;margin:0 0 10px;color:#166534;
  font-size:14.5px;line-height:1.4;font-weight:500}
.pepschep .pdp__deliver b{font-weight:600}
.pdp__deliverico{flex:none;width:20px;height:20px;color:#16A34A}
.pdp__deliverico svg{width:20px;height:20px;display:block}
.pdp__delivertext{min-width:0}

/* Aftelblok (staat nu in de winkelmandlade) */
.pdp__deadline{display:flex;align-items:center;gap:11px;width:100%;background:#FFF7E8;
  border:1px solid #F3DFB4;border-radius:14px;padding:13px 15px;margin:0 0 12px;color:#8A5A00;
  font-size:14px;line-height:1.4}
.pdp__deadline b{font-weight:600;color:#6B4400}
.pdp__deadlineico{flex:none;width:20px;height:20px;color:#C98A00}
.pdp__deadlineico svg{width:20px;height:20px;display:block}
.scart__foot .pdp__deadline{margin:0 0 12px;font-size:13.5px;padding:11px 13px}

/* Beoordelingen in plaats van het betaalblok */
.pdp__rating{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:20px;padding-top:18px;
  border-top:1px solid var(--line)}
.pdp__stars{position:relative;display:inline-block;font-size:17px;line-height:1;letter-spacing:2px;
  color:#D7DAE6;white-space:nowrap;flex:none}
.pdp__stars::before{content:"\2605\2605\2605\2605\2605"}
.pdp__starsfill{position:absolute;left:0;top:0;overflow:hidden;color:#FFC244;white-space:nowrap}
.pdp__starsfill::before{content:"\2605\2605\2605\2605\2605"}
.pdp__ratingtext{font-size:13.5px;color:var(--muted);line-height:1.4;min-width:0}
.pdp__ratingtext b{color:var(--ink);font-family:var(--font-display);font-weight:600;font-size:14.5px}

/* Doorgestreepte prijs netjes naast de nieuwe prijs */
.pepschep .pdp__summary .price{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px}
.pepschep .pdp__summary .price del{display:inline-flex;align-items:baseline;margin:0;opacity:.6;
  font-size:18px;font-weight:500;color:var(--muted);text-decoration:line-through;
  text-decoration-thickness:1.5px;text-underline-offset:0}
.pepschep .pdp__summary .price del .amount,
.pepschep .pdp__summary .price del bdi{text-decoration:inherit}
.pepschep .pdp__summary .price ins{display:inline-flex;align-items:baseline;text-decoration:none;
  background:none;color:var(--accent);margin:0}

/* Maatkeuze (YITH label-varianten) als nette pillen */
.pepschep .pdp__summary .select_box_label{display:flex!important;flex-wrap:wrap;gap:8px;height:auto!important;
  margin:0!important;padding:0!important}
.pepschep .pdp__summary .select_option_label{width:auto!important;height:auto!important;min-width:52px;
  border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;
  padding:0!important;margin:0!important;display:flex!important;align-items:center;justify-content:center;
  cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}
.pepschep .pdp__summary .select_option_label:hover{border-color:var(--muted)!important}
.pepschep .pdp__summary .select_option_label .yith_wccl_value_wrapper{width:auto!important;height:auto!important;
  display:block!important}
.pepschep .pdp__summary .select_option_label .yith_wccl_value{display:flex!important;align-items:center;
  justify-content:center;min-width:52px;height:46px!important;width:auto!important;padding:0 14px!important;
  border:0!important;border-radius:12px!important;background:none!important;
  font-family:var(--font-display);font-weight:600;font-size:14.5px;color:var(--ink);line-height:1}
.pepschep .pdp__summary .select_option_label.selected,
.pepschep .pdp__summary .select_option_label.yith_wccl_selected{border-color:var(--accent)!important;
  background:rgba(46,75,255,.06)!important;box-shadow:0 0 0 2px rgba(46,75,255,.14)}
.pepschep .pdp__summary .select_option_label.selected .yith_wccl_value{color:var(--accent)}
.pepschep .pdp__summary .select_option_label.disabled,
.pepschep .pdp__summary .select_option_label.out-of-stock{opacity:.4;pointer-events:none;
  text-decoration:line-through}

/* Logokiezer: altijd drie naast elkaar, foto vult de kaart */
.pepschep .pdp__summary .tc-images-container>li.tmcp-field-wrap{flex:0 0 calc(33.333% - 7px)!important;
  width:calc(33.333% - 7px)!important;max-width:calc(33.333% - 7px)!important}
.pepschep .pdp__summary .tc-images-container .tc-label-wrap{padding:0!important;overflow:hidden;gap:0}
.pepschep .pdp__summary .tc-images-container>li.tmcp-field-wrap label.tm-epo-field-label img,
.pepschep .pdp__summary .tc-images-container img.tc-image{width:100%!important;height:auto!important;
  aspect-ratio:1/1;object-fit:cover!important;border-radius:0!important;display:block;background:#F2F3F7!important}
.pepschep .pdp__summary .tc-images-container .radio-image-label{display:block;padding:7px 6px 8px!important;
  font-size:11px!important;line-height:1.25!important;color:var(--muted)!important}
@media (max-width:380px){
  .pepschep .pdp__summary .tc-images-container>li.tmcp-field-wrap{flex:0 0 calc(33.333% - 7px)!important;
    width:calc(33.333% - 7px)!important;max-width:calc(33.333% - 7px)!important}
  .pepschep .pdp__summary .tc-images-container .radio-image-label{font-size:10px!important}
}

.pepschep .pdp__deliver{flex-wrap:nowrap!important;align-items:flex-start}
.pepschep .pdp__deliver .pdp__deliverico{margin-top:1px}
.pdp__deadline{flex-wrap:nowrap;align-items:flex-start}
.pdp__deadlineico{margin-top:1px}

/* ============================================================
   Hoofdfoto: geen kader, foto zo groot en scherp mogelijk
   ============================================================ */
.pepschep .pgal__stage{aspect-ratio:5/6;background:transparent!important;border:0;border-radius:14px;
  overflow:hidden;box-shadow:none}
.pepschep .pgal__slide{background:transparent}
.pepschep .pgal__slide img,
.pepschep .pgal__img{width:100%!important;height:100%!important;object-fit:cover!important;
  object-position:50% 50%;background:transparent!important;border-radius:0!important;
  mix-blend-mode:normal!important}
.pepschep .pgal__thumb{background:transparent;border:1px solid var(--line)}
.pepschep .pgal__thumb img{background:transparent!important}

/* Op desktop mag de foto wat meer ruimte krijgen dan het koopblok */
@media (min-width:1001px){
  .pepschep .pdp__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:44px}
}

/* Foto's hebben zelf een witte rand; iets inzoomen zodat het product groter oogt */
.pepschep .pgal__slide img,
.pepschep .pgal__img{transform:scale(1.12);transform-origin:50% 50%}
.pepschep .pgal__thumb img{transform:scale(1.1);transform-origin:50% 50%}

/* ============================================================
   Hoofdfoto exact volgens de fleeqers-aanpak:
   vierkant kader met zachte achtergrond en afgeronde hoeken,
   foto vult het vlak (cover). Het vierkant snijdt de staande foto
   boven en onder bij, waardoor het product vanzelf groter oogt.
   ============================================================ */
.pepschep .pgal__stage{aspect-ratio:1/1!important;background:#F2F2EE!important;border-radius:14px!important;
  overflow:hidden!important;border:0;box-shadow:none}
.pepschep .pgal__slide{aspect-ratio:auto;height:100%;padding:0!important;background:transparent}
.pepschep .pgal__slide img,
.pepschep .pgal__img{width:100%!important;height:100%!important;object-fit:cover!important;
  object-position:50% 50%;transform:scale(1.06);transform-origin:50% 50%;
  background:transparent!important;border-radius:0!important;mix-blend-mode:normal!important}

/* Duimnagels: vierkant, zelfde vlak en accentrand bij de actieve */
.pepschep .pgal__thumbs{gap:10px;margin-top:12px}
.pepschep .pgal__thumb{width:74px;height:74px;padding:0!important;border:1px solid var(--line);
  border-radius:12px;overflow:hidden;background:#F2F2EE}
.pepschep .pgal__thumb img{width:100%!important;height:100%!important;object-fit:cover!important;
  transform:scale(1.06);border-radius:0!important;background:transparent!important}
.pepschep .pgal__thumb.is-active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(46,75,255,.18)}

/* Witte rand van de bronfoto's wegsnijden zodat het vlak vol staat */
.pepschep .pgal__slide img,
.pepschep .pgal__img{transform:scale(1.18)}
.pepschep .pgal__thumb img{transform:scale(1.14)}

/* Korte omschrijving: inkorten met lees meer */
.pdp__summary .pdp__short.is-clamped{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.pdp__more{display:inline-block;margin:2px 0 16px;padding:0;background:none;border:0;cursor:pointer;
  font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--accent);text-decoration:underline;
  text-underline-offset:3px}
.pdp__more:hover{color:var(--accent-ink)}

/* ============================================================
   Logokiezer: foto's op ware grootte, geen dubbel kader
   ============================================================ */
.pepschep .pdp__summary .tc-images-container{gap:12px!important}
.pepschep .pdp__summary .tc-images-container .tc-label-wrap{border:0!important;background:transparent!important;
  padding:0!important;box-shadow:none!important;overflow:visible!important;display:block!important;height:auto!important}
.pepschep .pdp__summary .tc-images-container>li.tmcp-field-wrap label.tm-epo-field-label{height:auto!important}
.pepschep .pdp__summary .tc-images-container img.tc-image,
.pepschep .pdp__summary .tc-images-container label.tm-epo-field-label img{width:100%!important;height:auto!important;
  aspect-ratio:auto!important;object-fit:contain!important;transform:none!important;border-radius:12px!important;
  background:#F2F2EE!important;display:block;border:1px solid var(--line)!important;
  transition:border-color .15s ease,box-shadow .15s ease}
.pepschep .pdp__summary .tc-images-container .radio-image-label{display:block;padding:7px 2px 0!important;
  font-size:11.5px!important;line-height:1.3!important;color:var(--muted)!important;text-align:center;
  background:none!important;margin:0!important}
.pepschep .pdp__summary .tc-images-container li:hover img.tc-image{border-color:var(--muted)!important}
.pepschep .pdp__summary .tc-images-container .tc-active img.tc-image,
.pepschep .pdp__summary .tc-images-container li.tc-active img.tc-image{border-color:var(--accent)!important;
  box-shadow:0 0 0 2px rgba(46,75,255,.18)!important}
.pepschep .pdp__summary .tc-images-container .tc-active .radio-image-label,
.pepschep .pdp__summary .tc-images-container li.tc-active .radio-image-label{color:var(--accent)!important;font-weight:600}

/* ============================================================
   USP-lijst in dezelfde stijl als elders op de site
   ============================================================ */
.pepschep .pdp__usps{display:block;margin:22px 0 0;padding:0;border:1px solid var(--line);border-radius:14px;
  overflow:hidden;background:#fff;gap:0}
.pepschep .pdp__usps li{display:flex;align-items:center;gap:11px;margin:0;padding:13px 16px;
  border-bottom:1px solid var(--line);font-size:14.5px;line-height:1.4;color:var(--ink)}
.pepschep .pdp__usps li:last-child{border-bottom:0}
.pepschep .pdp__usps .pep-check{flex:none;width:18px;height:18px;margin:0;border-radius:50%;
  background:rgba(46,75,255,.12);position:relative}
.pepschep .pdp__usps .pep-check::before{content:"";position:absolute;left:5.5px;top:4.5px;width:4px;height:8px;
  border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(42deg)}

/* Logokiezer: drie op een rij en de foto vult de kaart, net als de hoofdfoto */
.pepschep .pdp__summary .tc-images-container{gap:10px!important}
.pepschep .pdp__summary .tc-images-container img.tc-image,
.pepschep .pdp__summary .tc-images-container label.tm-epo-field-label img{aspect-ratio:1/1!important;
  height:auto!important;object-fit:cover!important;transform:scale(1.12)!important;overflow:hidden}
.pepschep .pdp__summary .tc-images-container .tc-label-wrap{overflow:hidden!important;border-radius:12px!important}
.pepschep .pdp__summary .tc-images-container img.tc-image{border-radius:12px!important}

/* ============================================================
   Vinkjes en plus-tekens netjes tekenen (oude regels resetten)
   ============================================================ */
.pepschep .pdp__usps .pep-check{width:20px;height:20px;border:0!important;border-radius:50%;
  background:var(--accent) no-repeat center/11px 11px;transform:none!important;box-shadow:none!important;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}
.pepschep .pdp__usps .pep-check::before,
.pepschep .pdp__usps .pep-check::after{content:none!important;display:none!important}

.pepschep .pacc__sign{width:26px;height:26px;border:0!important;border-radius:50%;background:var(--surface);
  transform:none!important;position:relative;overflow:hidden}
.pepschep .pacc__sign::before,
.pepschep .pacc__sign::after{content:""!important;display:block!important;position:absolute;left:50%;top:50%;
  background:currentColor;border-radius:2px}
.pepschep .pacc__sign::before{width:12px;height:2px;transform:translate(-50%,-50%)!important}
.pepschep .pacc__sign::after{width:2px;height:12px;transform:translate(-50%,-50%)!important;
  transition:opacity .2s ease,transform .2s ease}
.pepschep .pacc__btn[aria-expanded="true"] .pacc__sign::after{opacity:0;
  transform:translate(-50%,-50%) rotate(90deg)!important}

/* ============================================================
   Meerprijs-blok: alleen tonen als de opties echt geld kosten
   ============================================================ */
.pepschep .pdp__summary .tc-epo-totals.pep-geen-meerprijs,
.pepschep .pdp__summary .tc-totals-form.pep-geen-meerprijs{display:none!important}

/* En als er wel een meerprijs is: compact en in stijl */
.pepschep .pdp__summary .tc-epo-totals{margin:16px 0 0!important;padding:14px 16px!important;
  border:1px solid var(--line)!important;border-radius:14px!important;background:var(--surface)!important;
  font-size:14.5px!important;box-shadow:none!important}
.pepschep .pdp__summary .tc-epo-totals .tm-options-totals,
.pepschep .pdp__summary .tc-epo-totals .tm-final-totals{display:flex!important;align-items:baseline;
  justify-content:space-between;gap:14px;margin:0!important;padding:0!important;border:0!important;
  background:none!important;font-size:14.5px!important;color:var(--muted)}
.pepschep .pdp__summary .tc-epo-totals .tm-final-totals{margin-top:8px!important;padding-top:8px!important;
  border-top:1px solid var(--line)!important;color:var(--ink);font-family:var(--font-display);font-weight:600;
  font-size:16px!important}
.pepschep .pdp__summary .tc-epo-totals .amount,
.pepschep .pdp__summary .tc-epo-totals .woocommerce-Price-amount{font-family:var(--font-display);font-weight:600;
  color:var(--ink);white-space:nowrap}
.pepschep .pdp__summary .tc-epo-totals hr,
.pepschep .pdp__summary .tc-epo-totals .tm-separator{display:none!important}

/* Hoofdfoto iets langer, zodat er minder van boven en onder af valt */
.pepschep .pgal__stage{aspect-ratio:4/5!important}
.pepschep .pgal__slide img,
.pepschep .pgal__img{transform:scale(1.1)!important}
.pepschep .pgal__thumb{width:70px;height:84px}
.pepschep .pgal__thumb img{transform:scale(1.08)!important}

/* Hoofdfoto: langer kader, geen zichtbare rand, wel afgeronde hoeken */
.pepschep .pgal__stage{aspect-ratio:4/5!important;background:transparent!important;border:0!important;
  border-radius:16px!important;overflow:hidden!important;box-shadow:none!important}
.pepschep .pgal__slide{background:transparent!important;border-radius:0!important}
.pepschep .pgal__slide img,
.pepschep .pgal__img{transform:scale(1.2)!important;border-radius:0!important;background:transparent!important}
.pepschep .pgal__thumb{background:transparent;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.pepschep .pgal__thumb img{transform:scale(1.16)!important}

/* Prijs in de huisstijl (WooCommerce kleurde hem olijfgroen) */
.pepschep .pdp__summary .price,
.pepschep .pdp__summary .price *,
.pepschep .pdp__summary .woocommerce-Price-amount,
.pepschep .pdp__summary .woocommerce-Price-amount *,
.pepschep .pdp__summary .woocommerce-variation-price .amount,
.pepschep .pdp__summary .woocommerce-variation-price .amount *{color:var(--ink)!important}
.pepschep .pdp__summary .price del,
.pepschep .pdp__summary .price del *{color:var(--muted)!important}
.pepschep .pdp__summary .price ins,
.pepschep .pdp__summary .price ins *{color:#FF324A!important}
.pepschep .pdp__summary .tc-epo-totals .amount,
.pepschep .pdp__summary .tc-epo-totals .amount *{color:var(--ink)!important}

/* Doorhaling van de oude prijs zelf tekenen: altijd precies in het midden */
.pepschep .pdp__summary .price del{position:relative;display:inline-block;text-decoration:none!important;
  align-items:initial;opacity:1}
.pepschep .pdp__summary .price del *,
.pepschep .pdp__summary .price del bdi,
.pepschep .pdp__summary .price del .amount{text-decoration:none!important}
.pepschep .pdp__summary .price del::after{content:"";position:absolute;left:-1px;right:-1px;top:50%;height:2px;
  background:currentColor;transform:translateY(-50%);border-radius:2px;pointer-events:none}
.pepschep .pdp__summary .price del .woocommerce-Price-currencySymbol{margin-right:1px}
/* Schermlezertekst van WooCommerce verbergen */
.pepschep .pdp__summary .price .screen-reader-text,
.pepschep .pdp__summary .price .wc-block-components-product-price__value + span{position:absolute!important;
  width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Elke dia zijn eigen uitsnede, anders schuift de ingezoomde foto over de volgende heen */
.pepschep .pgal__slide{overflow:hidden!important;position:relative}
.pepschep .pgal__thumb{overflow:hidden!important}

/* ==========================================================
   Aantal-stepper: hoofdaantal + extra opties (Vaak samen gekocht)
   ========================================================== */
.pepschep .pdp__summary .pepqty{display:inline-flex!important;align-items:center;gap:2px;
  border:1px solid var(--line)!important;border-radius:999px!important;background:#fff!important;
  padding:3px!important;width:auto;max-width:100%;box-sizing:border-box;vertical-align:middle;
  height:auto!important;overflow:visible}
.pepschep .pdp__summary .pepqty label.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pepschep .pdp__summary .pepqty input[type="number"]{width:48px!important;min-width:48px!important;max-width:60px!important;
  height:40px!important;min-height:0!important;
  border:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;
  padding:0!important;margin:0!important;text-align:center!important;
  font-family:inherit;font-weight:700;font-size:15px;color:var(--ink);
  -moz-appearance:textfield!important;appearance:textfield!important;border-radius:0!important;flex:none}
.pepschep .pdp__summary .pepqty input[type="number"]::-webkit-outer-spin-button,
.pepschep .pdp__summary .pepqty input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none!important;appearance:none!important;opacity:0!important;height:0!important;margin:0!important;display:none!important}
.pepschep .pepqty__btn{flex:none;width:40px!important;height:40px!important;border:0!important;border-radius:50%!important;
  background:var(--surface);color:var(--ink);font-size:19px;line-height:1;font-weight:700;
  display:inline-flex;align-items:center;justify-content:center;padding:0!important;margin:0!important;
  cursor:pointer;box-shadow:none!important;
  transition:background .15s ease,color .15s ease;-webkit-tap-highlight-color:transparent}
.pepschep .pepqty__btn:hover{background:var(--accent);color:#fff}
.pepschep .pepqty__btn:disabled{opacity:.3;cursor:default;background:var(--surface);color:var(--ink)}

/* Variabele producten (kleding): aantal + knop in dezelfde rij als bij simpele producten */
.pepschep .pdp__summary .single_variation_wrap{width:100%}
.pepschep .pdp__summary .woocommerce-variation-add-to-cart{display:flex!important;flex-wrap:wrap;align-items:center;gap:12px;width:100%}
.pepschep .pdp__summary .woocommerce-variation-add-to-cart > .tc-extra-product-options,
.pepschep .pdp__summary .woocommerce-variation-add-to-cart > .tm-extra-product-options{flex:0 0 100%;order:-1;margin:0 0 6px}
.pepschep .pdp__summary .woocommerce-variation-add-to-cart > .tc-totals-form{flex:0 0 100%;order:-1}
.pepschep .pdp__summary .woocommerce-variation-add-to-cart button.single_add_to_cart_button{flex:1;min-width:210px}

@media(max-width:700px){
  /* Hoofdaantal: volle breedte, ruime tikvlakken */
  .pepschep .pdp__summary form.cart > .pepqty,
  .pepschep .pdp__summary .woocommerce-variation-add-to-cart > .pepqty{width:100%;justify-content:space-between}
  .pepschep .pdp__summary form.cart > .pepqty input[type="number"],
  .pepschep .pdp__summary .woocommerce-variation-add-to-cart > .pepqty input[type="number"]{flex:1 1 auto;width:auto!important;min-width:0!important;max-width:none!important;height:44px!important}
  .pepschep .pdp__summary form.cart > .pepqty .pepqty__btn,
  .pepschep .pdp__summary .woocommerce-variation-add-to-cart > .pepqty .pepqty__btn{width:44px!important;height:44px!important}
  .pepschep .pdp__summary .woocommerce-variation-add-to-cart button.single_add_to_cart_button{flex:1 1 100%;min-width:0}
  /* Extra producten: compact, past in de smalle kolom */
  .pepschep .pdp__summary .tm-quantity-alt .pepqty{padding:2px!important}
  .pepschep .pdp__summary .tm-quantity-alt .pepqty .pepqty__btn{width:34px!important;height:34px!important;font-size:17px}
  .pepschep .pdp__summary .tm-quantity-alt .pepqty input[type="number"]{width:32px!important;min-width:28px!important;max-width:40px!important;height:34px!important;font-size:14px;flex:0 1 auto}
}

/* Hoofdaantal even hoog als de winkelwagenknop */
.pepschep .pdp__summary form.cart > .pepqty,
.pepschep .pdp__summary .woocommerce-variation-add-to-cart > .pepqty{height:56px!important;padding:5px!important}
.pepschep .pdp__summary form.cart > .pepqty .pepqty__btn,
.pepschep .pdp__summary .woocommerce-variation-add-to-cart > .pepqty .pepqty__btn{width:44px!important;height:44px!important}
.pepschep .pdp__summary form.cart > .pepqty input[type="number"],
.pepschep .pdp__summary .woocommerce-variation-add-to-cart > .pepqty input[type="number"]{height:44px!important}
.pepschep .pdp__summary button.single_add_to_cart_button.disabled{cursor:not-allowed}
.pepschep .pdp__summary .woocommerce-variation-add-to-cart button.single_add_to_cart_button{margin-bottom:0!important}
@media(max-width:700px){
  .pepschep .pdp__summary form.cart > .pepqty,
  .pepschep .pdp__summary .woocommerce-variation-add-to-cart > .pepqty{margin:0 0 2px!important;flex:0 0 100%}
}

/* ==========================================================
   Productopties: eén vast ritme tussen alle keuzeblokken
   Geldt voor variaties (maat, kleur, skigebied) en voor de
   velden van Extra Product Options. Alle marges van Woo en
   van de plugin worden hier genormaliseerd naar --pep-optiegat.
   ========================================================== */
.pepschep .pdp__summary{--pep-optiegat:18px}

/* De twee containers waarin de keuzeblokken onder elkaar staan */
.pepschep .pdp__summary form.cart{column-gap:12px;row-gap:var(--pep-optiegat)}
.pepschep .pdp__summary .woocommerce-variation-add-to-cart{column-gap:12px;row-gap:var(--pep-optiegat);margin-top:0!important}
.pepschep .pdp__summary .single_variation_wrap{margin:0}

/* ---- Variatietabel ---- */
.pepschep .pdp__summary table.variations{display:block;width:100%;margin:0!important;border:0;border-collapse:collapse;border-spacing:0}
.pepschep .pdp__summary table.variations tbody{display:block}
.pepschep .pdp__summary table.variations tr{display:block}
.pepschep .pdp__summary table.variations tr + tr{margin-top:var(--pep-optiegat)}
.pepschep .pdp__summary table.variations td,
.pepschep .pdp__summary table.variations th{display:block;padding:0;border:0}
.pepschep .pdp__summary table.variations td.label{margin:0 0 8px}
.pepschep .pdp__summary table.variations td.value{margin:0!important}

/* 'Wissen' krijgt van WooCommerce visibility:hidden, maar houdt dan wel
   ruim veertig pixels bezet. Zolang hij onzichtbaar is hoort hij weg. */
.pepschep .pdp__summary a.reset_variations[style*="hidden"]{display:none!important}
.pepschep .pdp__summary a.reset_variations{display:inline-block;margin:10px 0 0}

/* ---- Lege hulzen van Woo en van de plugin ---- */

.pepschep .pdp__summary .select_box_select:empty,
.pepschep .pdp__summary .woocommerce-variation-availability:empty,
.pepschep .pdp__summary .woocommerce-variation-description:empty,
.pepschep .pdp__summary .tm-extra-product-options-fields > li:empty{display:none!important}
.pepschep .pdp__summary .tm-extra-product-options-fields > li:not(:has(.cpf-section)){display:none!important}

/* ---- Extra Product Options ---- */
.pepschep .pdp__summary .tc-extra-product-options,
.pepschep .pdp__summary .tm-extra-product-options{margin:0!important;padding:0}
.pepschep .pdp__summary .tm-extra-product-options-fields{margin:0;padding:0;list-style:none;
  display:flex;flex-direction:column;gap:var(--pep-optiegat)}
.pepschep .pdp__summary .tm-extra-product-options-fields > li{margin:0;padding:0}
.pepschep .pdp__summary .cpf-section,
.pepschep .pdp__summary .tc-section-inner-wrap{margin:0;padding:0}

/* Variatieprijs die na een keuze verschijnt */
.pepschep .pdp__summary .woocommerce-variation{margin:0}
.pepschep .pdp__summary .woocommerce-variation-price{margin:0 0 var(--pep-optiegat)}

@media (max-width:700px){
  .pepschep .pdp__summary{--pep-optiegat:16px}
}

/* Deze container van de plugin rendert niets maar telt wel mee als blok in de
   flexrij, waardoor er een dubbel gat ontstond. display:contents haalt hem uit
   de rij zonder zijn inhoud te verbergen. */
.pepschep .pdp__summary .tc-styled-variations{display:contents}

/* Bovenkant van de productpagina wat compacter */
.pepschep .woo-body{padding-top:16px}
.pepschep .pdp{padding-top:0}
.pepschep .pdp .crumbs{margin-bottom:14px}
@media (max-width:700px){
  .pepschep .woo-body{padding-top:10px}
  .pepschep .pdp .crumbs{margin-bottom:10px;font-size:12.5px}
}

/* ==========================================================
   Galerij: eén strook miniaturen die zijwaarts schuift.
   Zelfde weergave op desktop en telefoon; de bolletjes zijn
   vervangen door een teller op de grote foto.
   ========================================================== */
.pepschep .pgal__thumbs{display:flex!important;flex-wrap:nowrap!important;gap:8px;margin-top:12px;
  overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;
  padding:2px;margin-inline:-2px;
  scroll-snap-type:x proximity;overscroll-behavior-x:contain}
.pepschep .pgal__thumbs::-webkit-scrollbar{display:none;width:0;height:0}

.pepschep .pgal__thumb{flex:0 0 auto!important;width:72px!important;height:72px!important;
  padding:0!important;border:1px solid var(--line);border-radius:12px;overflow:hidden!important;
  background:#fff;cursor:pointer;scroll-snap-align:start;
  transition:border-color .15s ease, box-shadow .15s ease}
.pepschep .pgal__thumb img{width:100%!important;height:100%!important;
  object-fit:cover!important;display:block;mix-blend-mode:normal!important}
.pepschep .pgal__thumb:hover{border-color:#c3cade}
.pepschep .pgal__thumb.is-active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(46,75,255,.18)}

/* Teller rechtsonder op de grote foto */
.pepschep .pgal__teller{position:absolute;right:12px;bottom:12px;z-index:3;
  display:inline-flex;align-items:center;gap:2px;
  padding:5px 11px;border-radius:999px;
  background:rgba(14,18,32,.68);color:#fff;
  font-family:var(--font-body);font-size:12.5px;font-weight:600;line-height:1;
  pointer-events:none;letter-spacing:.01em}
.pepschep .pgal__teller b{font-weight:800}
.pepschep .pgal:not(.pgal--multi) .pgal__teller{display:none}

@media (max-width:700px){
  .pepschep .pgal__thumbs{gap:7px;margin-top:10px}
  .pepschep .pgal__thumb{width:62px!important;height:62px!important;border-radius:10px}
  .pepschep .pgal__teller{right:10px;bottom:10px;padding:4px 10px;font-size:12px}
}

@media (max-width:400px){
  .pepschep .pgal__thumb{width:58px!important;height:58px!important}
}

/* Op telefoon en tablet swipen mensen; pijlen over de foto zijn daar alleen in de weg.
   Bewust op breedte en niet op (pointer:coarse): sommige laptops met aanraakscherm
   melden zich ook als 'coarse', en daar horen de pijlen juist wel te staan. */
@media (max-width:1100px){
  .pepschep .pgal__nav,
  .pepschep .pgal--multi .pgal__nav{display:none!important}
}

/* ============================================================
   EIGEN TEKST OP HET PRODUCT
   ============================================================ */

.pgal__slide{position:relative}

.pperso{position:absolute;left:var(--px);top:var(--py);width:var(--pw);
  transform:translate(-50%,-50%);text-align:center;line-height:1;pointer-events:none;z-index:2}
.pperso__tekst{display:inline-block;max-width:100%;white-space:nowrap;
  font-family:var(--font-display);font-weight:700;text-transform:uppercase;
  letter-spacing:.02em;color:var(--pc);font-size:22px}
.pperso.is-leeg .pperso__tekst{opacity:.55}

.perso{margin:0 0 14px}
.perso__label{display:flex;align-items:center;gap:8px;font-family:var(--font-body);font-weight:600;
  font-size:14.5px;color:var(--ink);margin-bottom:7px}
.perso__req{font-style:normal;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:var(--accent);background:var(--surface);border-radius:99px;padding:3px 8px}
.perso__row{display:flex;align-items:center;gap:10px}
.pepschep .perso__input{flex:1;min-width:0;height:50px;border:1px solid var(--line);border-radius:var(--r-pill);
  padding:0 18px;font-family:var(--font-body);font-size:16px;font-weight:600;color:var(--ink);background:#fff}
.pepschep .perso__input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(46,75,255,.14)}
.pepschep .perso__input::placeholder{font-weight:400;color:#9AA1B4}
.perso__teller{flex:none;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.perso__teller b{color:var(--ink);font-weight:700}
.perso__help{margin:7px 0 0;font-size:13px;color:var(--muted);line-height:1.45}

@media (max-width:560px){
  .pepschep .perso__input{height:48px;font-size:16px}
  .perso__help{font-size:12.5px}
}
