/*!
 * Desii — desii-pages.css  (theme v2.10.1)
 * Kadence-vrij pagina-designsysteem. Visueel geïnspireerd op Apple + Shopify,
 * volledig op de bestaande Desii-tokens (#305959 / #2c333e / #f7f7f7).
 * Alles gescoped op #desii-site zodat header/footer (goedgekeurd) onaangeroerd blijven.
 *
 * Component-bibliotheek (herbruikbaar op alle pagina's):
 *   .desii-pg-intro / eyebrow / title / lead        — pagina-opening (Apple-stijl)
 *   .desii-pg-section / sechead / seclink            — sectie-ritme
 *   .desii-cat-grid / .desii-cat-tile                  — categorie-tegels (Shop)
 *   .desii-pcard-grid / .desii-pcard                   — productkaarten
 *   .desii-featrow                                   — afwisselende beeld/tekst-rijen
 *   .desii-specs                                     — specificatielijst
 *   .desii-faq                                       — FAQ-accordeon
 *   .desii-contact                                   — contactblok
 *   .desii-callout                                   — accent-CTA-strook
 *   .desii-legal-doc                                 — leesbare juridische pagina
 */

/* ==========================================================================
   Pagina-scope basis
   ========================================================================== */
#desii-site .desii-page{ background: var(--desii-surface); }
#desii-site .desii-page-store{ background: var(--desii-offwhite, #f7f7f7); }

/* Ademende sectie-ritmiek */
#desii-site .desii-pg-section{ padding: clamp(40px, 6vw, 76px) 0; }
#desii-site .desii-pg-section--tight{ padding: clamp(28px, 4vw, 48px) 0; }
#desii-site .desii-pg-section + .desii-pg-section{ border-top: 1px solid var(--desii-hairline); }

/* ==========================================================================
   Categorie-lookbook hero — donkere slate + teal-gloed (collectie-stijl)
   Alleen op product_cat/product_tag-archieven.
   ========================================================================== */
#desii-site .desii-look{
  position: relative;
  overflow: hidden;
  background: var(--desii-ink);
  color: #fff;
  margin-bottom: clamp(28px, 4vw, 44px);
}
#desii-site .desii-look::before{
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(120% 80% at 82% 18%, rgba(48,89,89,.55), transparent 60%);
  pointer-events: none;
}
#desii-site .desii-look__in{
  position: relative;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 40px;
  align-items: center;
  padding: clamp(48px, 7vw, 92px) clamp(22px, 4vw, 48px);
  max-width: var(--desii-content-max);
  margin-inline: auto;
}
#desii-site .desii-look--noimg .desii-look__in{ grid-template-columns: 1fr; }
#desii-site .desii-look__eyebrow{
  font-size: 13px; font-weight: 700; letter-spacing: .22em;
  text-transform: uppercase; color: #8FBFBB !important; margin: 0 0 14px;
}
#desii-site .desii-look__title{
  font-size: clamp(40px, 6vw, 84px);
  line-height: 1.02; letter-spacing: -.02em; font-weight: 800;
  color: #fff !important; margin: 0;
}
#desii-site .desii-look__lead{
  color: #C5CAD1 !important; font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.55; max-width: 46ch; margin: 18px 0 0;
}
#desii-site .desii-look__meta{
  display: flex; align-items: center; gap: 20px; margin-top: 30px; flex-wrap: wrap;
}
#desii-site .desii-look__count{
  font-weight: 700; font-size: 14px; letter-spacing: .05em; color: #fff !important;
  background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.16);
  padding: 9px 15px; border-radius: 2px;
}
#desii-site .desii-look__scroll{
  color: #8FBFBB !important; font-weight: 600; font-size: 14px; text-decoration: none !important;
}
#desii-site .desii-look__scroll:hover{ color: #fff !important; }
#desii-site .desii-look__media{ position: relative; }
#desii-site .desii-look__img{
  width: 100%; height: auto; max-height: 460px; object-fit: contain;
  filter: drop-shadow(0 34px 54px rgba(0,0,0,.45));
}
@media (max-width: 860px){
  #desii-site .desii-look__in{ grid-template-columns: 1fr; gap: 22px; }
  #desii-site .desii-look__media{ order: -1; }
  #desii-site .desii-look__img{ max-height: 300px; }
}

/* ==========================================================================
   Pagina-opening — Apple: eyebrow + grote kop + rustige lead
   ========================================================================== */
#desii-site .desii-pg-intro{
  padding: clamp(56px, 8vw, 104px) 0 clamp(28px, 4vw, 44px);
  text-align: center;
}
#desii-site .desii-pg-intro--left{ text-align: left; }

#desii-site .desii-pg-eyebrow{
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--desii-accent);
  margin: 0 0 14px;
}
#desii-site .desii-pg-title{
  font-size: clamp(38px, 5.4vw, 68px);
  line-height: 1.03;
  letter-spacing: -0.035em;
  font-weight: 800;
  color: var(--desii-ink);
  margin: 0 auto 18px;
  max-width: 18ch;
  text-wrap: balance;
}
#desii-site .desii-pg-intro--left .desii-pg-title{ margin-left: 0; }
#desii-site .desii-pg-lead{
  font-size: clamp(17px, 1.7vw, 21px);
  line-height: 1.5;
  color: rgba(44,51,62,.72);
  margin: 0 auto;
  max-width: 60ch;
}
#desii-site .desii-pg-intro--left .desii-pg-lead{ margin-left: 0; }

#desii-site .desii-pg-actions{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 26px;
}
#desii-site .desii-pg-intro--left .desii-pg-actions{ justify-content: flex-start; }

/* Grote primaire pill-knop (Apple/Shopify) — buttons mogen 15px radius */
#desii-site .desii-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 2px 24px 0;
  border-radius: 999px;
  background: var(--desii-accent);
  border: 1px solid var(--desii-accent);
  color: #fff !important;
  font-weight: 600;
  font-size: 15px;
  line-height: 1;
  text-decoration: none !important;
  transition: transform .14s ease, box-shadow .18s ease, filter .15s ease;
  box-shadow: 0 8px 22px rgba(48,89,89,.20);
}
#desii-site .desii-cta:hover{ transform: translateY(-1px); filter: brightness(1.06); box-shadow: 0 12px 28px rgba(48,89,89,.26); }
#desii-site .desii-cta--ghost{
  background: transparent;
  border-color: rgba(44,51,62,.22);
  color: var(--desii-ink) !important;
  box-shadow: none;
}
#desii-site .desii-cta--ghost:hover{ background: rgba(44,51,62,.05); border-color: rgba(44,51,62,.4); filter: none; }
#desii-site .desii-cta--link{
  background: transparent; border: 0; box-shadow: none; min-height: 0; padding: 0;
  color: var(--desii-accent) !important; font-weight: 600;
}
#desii-site .desii-cta--link:hover{ transform: none; text-decoration: underline !important; }

/* ==========================================================================
   Sectiekop
   ========================================================================== */
#desii-site .desii-pg-sechead{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 clamp(20px, 3vw, 34px);
  flex-wrap: wrap;
}
#desii-site .desii-pg-sechead__h{
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.1;
  letter-spacing: -0.03em;
  font-weight: 800;
  color: var(--desii-ink);
  margin: 0;
}
#desii-site .desii-pg-sechead__sub{
  font-size: 15px; color: rgba(44,51,62,.6); margin: 6px 0 0;
}
#desii-site .desii-pg-seclink{
  font-size: 15px; font-weight: 600; color: var(--desii-accent) !important;
  text-decoration: none !important; white-space: nowrap;
}
#desii-site .desii-pg-seclink:hover{ text-decoration: underline !important; }

/* ==========================================================================
   Categorie-tegels (Shop) — Shopify-collectie meets Apple whitespace
   ========================================================================== */
#desii-site .desii-cat-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: clamp(14px, 1.6vw, 22px);
}
@media (max-width: 900px){ #desii-site .desii-cat-grid{ grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px){ #desii-site .desii-cat-grid{ grid-template-columns: 1fr; } }

#desii-site .desii-cat-tile{
  display: flex;
  flex-direction: column;
  background: var(--desii-surface);
  border: 1px solid var(--desii-hairline);
  overflow: hidden;
  color: inherit;
  text-decoration: none !important;
  transition: transform .16s ease, box-shadow .2s ease, border-color .16s ease;
}
#desii-site .desii-cat-tile:hover{
  transform: translateY(-3px);
  box-shadow: 0 20px 44px rgba(44,51,62,.16);
  border-color: var(--desii-hairline-strong);
}
#desii-site .desii-cat-tile__media{
  aspect-ratio: 4 / 3;
  background-size: cover;
  background-position: center;
  background-color: var(--desii-ink);
  position: relative;
}
/* placeholder-vulling wanneer nog geen foto */
#desii-site .desii-cat-tile__media--ph{
  background:
    radial-gradient(120% 120% at 20% 15%, rgba(48,89,89,.85), rgba(44,51,62,.95));
}
#desii-site .desii-cat-tile__media--ph::after{
  content: attr(data-ph);
  position: absolute; inset: 0;
  display: grid; place-items: center;
  color: rgba(255,255,255,.6);
  font-size: 12px; letter-spacing: .1em; text-transform: uppercase; font-weight: 600;
}
#desii-site .desii-cat-tile__body{
  padding: 20px 20px 22px;
  display: flex; flex-direction: column; gap: 8px;
  flex: 1;
}
#desii-site .desii-cat-tile__h{
  font-size: 20px; font-weight: 800; letter-spacing: -0.02em; color: var(--desii-ink); margin: 0;
}
#desii-site .desii-cat-tile__p{
  font-size: 14.5px; line-height: 1.5; color: rgba(44,51,62,.66); margin: 0;
}
#desii-site .desii-cat-tile__cta{
  margin-top: auto; padding-top: 10px;
  font-size: 14px; font-weight: 600; color: var(--desii-accent);
  display: inline-flex; align-items: center; gap: 6px;
}
#desii-site .desii-cat-tile:hover .desii-cat-tile__cta{ gap: 10px; }

/* ==========================================================================
   Productkaarten (raster)
   ========================================================================== */
#desii-site .desii-pcard-toolbar{
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  margin: 0 0 20px; flex-wrap: wrap;
}
#desii-site .desii-pcard-count{ font-size: 14px; color: rgba(44,51,62,.6); }
#desii-site .desii-select{
  appearance: none; -webkit-appearance: none;
  border: 1px solid var(--desii-hairline-strong); background: var(--desii-surface);
  border-radius: 999px; padding: 9px 34px 9px 16px; font: inherit; font-size: 14px;
  color: var(--desii-ink); cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232c333e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center;
}

#desii-site .desii-pcard-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: clamp(12px, 1.4vw, 18px);
}
@media (max-width: 1024px){ #desii-site .desii-pcard-grid{ grid-template-columns: repeat(3,1fr); } }
@media (max-width: 720px){ #desii-site .desii-pcard-grid{ grid-template-columns: repeat(2,1fr); gap: 12px; } }
@media (max-width: 420px){ #desii-site .desii-pcard-grid{ grid-template-columns: 1fr; } }

#desii-site .desii-pcard{
  display: flex; flex-direction: column;
  background: var(--desii-surface);
  border: 1px solid var(--desii-hairline);
  overflow: hidden;
  text-decoration: none !important; color: inherit;
  transition: transform .16s ease, box-shadow .2s ease, border-color .16s ease;
}
#desii-site .desii-pcard:hover{
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(44,51,62,.15);
  border-color: var(--desii-hairline-strong);
}
#desii-site .desii-pcard__media{
  aspect-ratio: 1 / 1; display: grid; place-items: center;
  background: #fff; padding: 14px;
}
#desii-site .desii-pcard__media img{ max-width: 100%; max-height: 100%; object-fit: contain; display: block; }
#desii-site .desii-pcard__media--ph{ background: var(--desii-offwhite, #f7f7f7); }
#desii-site .desii-pcard__body{ padding: 14px 16px 18px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
#desii-site .desii-pcard__title{ font-size: 15.5px; font-weight: 700; letter-spacing: -0.01em; color: var(--desii-ink); }
#desii-site .desii-pcard__sub{ font-size: 13px; line-height: 1.45; color: rgba(44,51,62,.6); }
#desii-site .desii-pcard__meta{ margin-top: auto; padding-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
#desii-site .desii-pcard__price{ font-size: 15px; font-weight: 800; color: var(--desii-ink); }
#desii-site .desii-pcard__badge{ font-size: 12px; color: var(--desii-muted); border: 1px solid var(--desii-hairline-strong); padding: 4px 8px; }
#desii-site .desii-pcard__cta{ font-size: 13.5px; font-weight: 600; color: var(--desii-accent); }

/* Lookbook-specs op de kaart: mould-badge, carbon-balk, bow-footer */
#desii-site .desii-pcard__media{ position: relative; }
#desii-site .desii-pcard__mould{
  position: absolute; top: 10px; left: 10px; z-index: 2;
  font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--desii-ink); background: rgba(255,255,255,.9);
  padding: 5px 8px; border: 1px solid var(--desii-hairline, #e4e6e9); border-radius: 2px;
  backdrop-filter: blur(4px);
}
#desii-site .desii-pcard__carbon{ margin-top: 4px; }
#desii-site .desii-pcard__carbonlab{
  display: flex; justify-content: space-between; align-items: baseline;
  font-size: 12px; color: rgba(44,51,62,.6); margin-bottom: 6px; letter-spacing: .02em;
}
#desii-site .desii-pcard__carbonlab b{ color: var(--desii-ink); font-weight: 800; }
#desii-site .desii-pcard__bar{
  height: 6px; border-radius: 6px; background: var(--desii-hairline, #e4e6e9); overflow: hidden;
}
#desii-site .desii-pcard__bar i{
  display: block; height: 100%; border-radius: 6px;
  background: linear-gradient(90deg, var(--desii-accent), color-mix(in srgb, var(--desii-accent) 45%, #7FB800));
}
#desii-site .desii-pcard__spec{
  margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--desii-hairline, #eff0f2);
  font-size: 12.5px; color: rgba(44,51,62,.6);
}
#desii-site .desii-pcard__bow{ font-weight: 700; color: var(--desii-ink); letter-spacing: .01em; }

/* ==========================================================================
   Trust-strip (vertrouwenssignalen onder de intro)
   ========================================================================== */
#desii-site .desii-trust{ background: var(--desii-surface); border-top: 1px solid var(--desii-hairline); border-bottom: 1px solid var(--desii-hairline); }
#desii-site .desii-trust__row{
  list-style: none; margin: 0; padding: 22px 0;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
}
#desii-site .desii-trust__item{ display: flex; flex-direction: column; gap: 3px; padding-left: 16px; border-left: 2px solid var(--desii-accent); }
#desii-site .desii-trust__h{ font-size: 14.5px; font-weight: 800; letter-spacing: -0.01em; color: var(--desii-ink); }
#desii-site .desii-trust__p{ font-size: 12.5px; line-height: 1.4; color: rgba(44,51,62,.6); }
@media (max-width: 860px){ #desii-site .desii-trust__row{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 460px){ #desii-site .desii-trust__row{ grid-template-columns: 1fr; } }

/* ==========================================================================
   Filterchips (shop-productraster)
   ========================================================================== */
#desii-site .desii-pcard-filters{
  display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px;
}
#desii-site .desii-chip{
  appearance: none; -webkit-appearance: none;
  border: 1px solid var(--desii-hairline-strong); background: var(--desii-surface);
  border-radius: 999px; padding: 8px 16px; font: inherit; font-size: 13.5px; font-weight: 600;
  color: var(--desii-ink); cursor: pointer; transition: background .15s ease, color .15s ease, border-color .15s ease;
}
#desii-site .desii-chip:hover{ border-color: var(--desii-accent); }
#desii-site .desii-chip.is-active{ background: var(--desii-ink); border-color: var(--desii-ink); color: #fff; }

/* ==========================================================================
   Beeld/tekst-rijen (materiaal- & merkpagina's) — Apple alternerend
   ========================================================================== */
#desii-site .desii-featrow{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
}
#desii-site .desii-featrow + .desii-featrow{ margin-top: clamp(36px, 5vw, 72px); }
#desii-site .desii-featrow--flip .desii-featrow__media{ order: 2; }
@media (max-width: 820px){
  #desii-site .desii-featrow{ grid-template-columns: 1fr; gap: 20px; }
  #desii-site .desii-featrow--flip .desii-featrow__media{ order: 0; }
}
#desii-site .desii-featrow__media{
  aspect-ratio: 4 / 3;
  background-size: cover; background-position: center;
  background-color: var(--desii-ink);
  border: 1px solid var(--desii-hairline);
}
#desii-site .desii-featrow__media--ph{ background: radial-gradient(120% 120% at 25% 20%, rgba(48,89,89,.85), rgba(44,51,62,.95)); }
#desii-site .desii-featrow__eyebrow{ font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--desii-accent); margin: 0 0 12px; }
#desii-site .desii-featrow__h{ font-size: clamp(26px, 3vw, 40px); line-height: 1.08; letter-spacing: -0.03em; font-weight: 800; color: var(--desii-ink); margin: 0 0 14px; }
#desii-site .desii-featrow__p{ font-size: 16.5px; line-height: 1.6; color: rgba(44,51,62,.74); margin: 0 0 12px; max-width: 48ch; }

/* ==========================================================================
   Specificatielijst
   ========================================================================== */
#desii-site .desii-specs{ display: grid; grid-template-columns: repeat(2,1fr); gap: 0; border: 1px solid var(--desii-hairline); }
@media (max-width: 560px){ #desii-site .desii-specs{ grid-template-columns: 1fr; } }
#desii-site .desii-specs__item{ padding: 16px 18px; border-bottom: 1px solid var(--desii-hairline); }
#desii-site .desii-specs__item:nth-child(odd){ border-right: 1px solid var(--desii-hairline); }
@media (max-width: 560px){ #desii-site .desii-specs__item:nth-child(odd){ border-right: 0; } }
#desii-site .desii-specs__k{ font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--desii-muted); margin: 0 0 4px; }
#desii-site .desii-specs__v{ font-size: 16px; font-weight: 700; color: var(--desii-ink); margin: 0; }

/* ==========================================================================
   FAQ-accordeon (details/summary — geen JS nodig)
   ========================================================================== */
#desii-site .desii-faq{ max-width: 780px; margin: 0 auto; border-top: 1px solid var(--desii-hairline); }
#desii-site .desii-faq__item{ border-bottom: 1px solid var(--desii-hairline); }
#desii-site .desii-faq__item > summary{
  list-style: none; cursor: pointer;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 20px 4px; font-size: 17px; font-weight: 700; color: var(--desii-ink);
}
#desii-site .desii-faq__item > summary::-webkit-details-marker{ display: none; }
#desii-site .desii-faq__item > summary::after{
  content: ""; width: 12px; height: 12px; flex: none;
  border-right: 2px solid var(--desii-accent); border-bottom: 2px solid var(--desii-accent);
  transform: rotate(45deg); transition: transform .2s ease; margin-right: 6px;
}
#desii-site .desii-faq__item[open] > summary::after{ transform: rotate(-135deg); }
#desii-site .desii-faq__a{ padding: 0 4px 22px; font-size: 15.5px; line-height: 1.6; color: rgba(44,51,62,.74); max-width: 68ch; }

/* ==========================================================================
   Contactblok
   ========================================================================== */
#desii-site .desii-contact{ display: grid; grid-template-columns: repeat(3,1fr); gap: clamp(14px,1.6vw,20px); }
@media (max-width: 720px){ #desii-site .desii-contact{ grid-template-columns: 1fr; } }
#desii-site .desii-contact__card{
  background: var(--desii-surface); border: 1px solid var(--desii-hairline); padding: 24px;
  display: flex; flex-direction: column; gap: 8px;
}
#desii-site .desii-contact__k{ font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--desii-muted); margin: 0; }
#desii-site .desii-contact__v{ font-size: 18px; font-weight: 800; color: var(--desii-ink); margin: 0; letter-spacing: -0.01em; }
#desii-site .desii-contact__p{ font-size: 14.5px; line-height: 1.5; color: rgba(44,51,62,.66); margin: 0; }
#desii-site .desii-contact__v a{ color: var(--desii-accent) !important; text-decoration: none !important; }
#desii-site .desii-contact__v a:hover{ text-decoration: underline !important; }

/* Contactformulier */
#desii-site .desii-cform-wrap{
  margin-top: clamp(20px,3vw,32px);
  background: var(--desii-surface); border: 1px solid var(--desii-hairline);
  border-radius: 18px; padding: clamp(22px,3vw,34px);
  box-shadow: 0 10px 30px rgba(44,51,62,.06);
}
#desii-site .desii-cform-head{ margin-bottom: 18px; }
#desii-site .desii-cform-title{ font-size: clamp(20px,2.4vw,26px); font-weight: 800; color: var(--desii-ink); margin: 0 0 6px; letter-spacing: -0.01em; }
#desii-site .desii-cform-sub{ font-size: 15px; line-height: 1.5; color: rgba(44,51,62,.66); margin: 0; }
#desii-site .desii-cform-note{ border-radius: 12px; padding: 13px 16px; font-size: 14.5px; line-height: 1.5; margin-bottom: 16px; }
#desii-site .desii-cform-note--ok{ background: rgba(112,166,89,.12); border: 1px solid rgba(112,166,89,.4); color: #2f5d1f; }
#desii-site .desii-cform-note--err{ background: rgba(200,72,60,.08); border: 1px solid rgba(200,72,60,.35); color: #8a2b22; }
#desii-site .desii-cform-hp{ position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
#desii-site .desii-cform-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 620px){ #desii-site .desii-cform-grid{ grid-template-columns: 1fr; } }
#desii-site .desii-cform-field{ display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
#desii-site .desii-cform-field > span{ font-size: 13.5px; font-weight: 700; color: var(--desii-ink); }
#desii-site .desii-cform-field input,
#desii-site .desii-cform-field textarea{
  width: 100%; box-sizing: border-box;
  border: 1px solid var(--desii-hairline-strong, rgba(44,51,62,.2)); border-radius: 12px;
  background: #fff; padding: 12px 14px; font-size: 15px; color: var(--desii-ink);
  font-family: inherit; transition: border-color .15s ease, box-shadow .15s ease;
}
#desii-site .desii-cform-field input{ height: 48px; }
#desii-site .desii-cform-field textarea{ resize: vertical; min-height: 120px; }
#desii-site .desii-cform-field input:focus,
#desii-site .desii-cform-field textarea:focus{
  outline: none; border-color: var(--desii-accent);
  box-shadow: 0 0 0 3px rgba(48,89,89,.14);
}
#desii-site .desii-cform-actions{ display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 4px; }
#desii-site .desii-cform-btn{
  display: inline-flex; align-items: center; justify-content: center; text-align: center;
  min-height: 50px; padding: 0 30px; border-radius: 999px; line-height: 1;
  background: var(--desii-accent); border: 1px solid var(--desii-accent); color: #fff;
  font-weight: 700; font-size: 15px; cursor: pointer; box-shadow: 0 10px 24px rgba(48,89,89,.22);
  transition: filter .15s ease;
}
#desii-site .desii-cform-btn:hover{ filter: brightness(1.06); }
#desii-site .desii-cform-hint{ font-size: 14px; color: rgba(44,51,62,.66); }
#desii-site .desii-cform-hint a{ color: var(--desii-accent) !important; text-decoration: none; }
#desii-site .desii-cform-hint a:hover{ text-decoration: underline; }

/* ==========================================================================
   Accent-CTA-strook
   ========================================================================== */
#desii-site .desii-callout{
  background: var(--desii-ink);
  color: #fff; text-align: center;
  padding: clamp(44px, 6vw, 84px) 0;
}
#desii-site .desii-callout__h{ font-size: clamp(28px,3.4vw,44px); line-height: 1.08; letter-spacing: -0.03em; font-weight: 800; margin: 0 0 12px; color: #fff; }
#desii-site .desii-callout__p{ font-size: 17px; line-height: 1.5; color: rgba(255,255,255,.8); margin: 0 auto 26px; max-width: 54ch; }
#desii-site .desii-callout .desii-cta{ box-shadow: none; }
#desii-site .desii-callout .desii-cta:not(.desii-cta--ghost){ background:#fff; border-color:#fff; color: var(--desii-ink) !important; }
#desii-site .desii-callout .desii-cta--ghost{ border-color: rgba(255,255,255,.4); color:#fff !important; }

/* ==========================================================================
   Juridische / tekstpagina — smal, rustig, leesbaar
   ========================================================================== */
#desii-site .desii-legal-doc{ max-width: 760px; margin: 0 auto; }
#desii-site .desii-legal-doc .desii-legal-updated{ font-size: 13px; color: var(--desii-muted); margin: 0 0 30px; }
#desii-site .desii-legal-doc h2{ font-size: 22px !important; margin: 34px 0 10px !important; }
#desii-site .desii-legal-doc h3{ font-size: 17px !important; margin: 22px 0 8px !important; }
#desii-site .desii-legal-doc p,
#desii-site .desii-legal-doc li{ font-size: 15.5px; line-height: 1.65; }

/* TOC voor lange juridische pagina's */
#desii-site .desii-toc{
  background: var(--desii-offwhite, #f7f7f7); border: 1px solid var(--desii-hairline);
  padding: 20px 22px; margin: 0 0 34px;
}
#desii-site .desii-toc__h{ font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--desii-muted); margin: 0 0 10px; }
#desii-site .desii-toc ol{ margin: 0 !important; padding-left: 18px !important; }
#desii-site .desii-toc a{ color: var(--desii-ink) !important; text-decoration: none !important; }
#desii-site .desii-toc a:hover{ text-decoration: underline !important; color: var(--desii-accent) !important; }

/* ==========================================================================
   Juridische pagina's — auto (page.php geeft .desii-page-legal)
   Inhoud blijft ongewijzigd; alleen leesbare, smalle layout.
   ========================================================================== */
#desii-site .desii-page-legal .desii-page__inner{
  max-width: 760px;
  margin: 0 auto;
  padding-top: clamp(28px, 4vw, 48px);
  padding-bottom: clamp(40px, 6vw, 76px);
}
#desii-site .desii-page-legal .desii-page__inner > h2:first-child,
#desii-site .desii-page-legal .desii-page__inner > h1:first-child{ margin-top: 0; }
#desii-site .desii-page-legal .desii-page__inner h2{ font-size: 22px !important; margin: 34px 0 10px !important; }
#desii-site .desii-page-legal .desii-page__inner h3{ font-size: 17px !important; margin: 22px 0 8px !important; }
#desii-site .desii-page-legal .desii-page__inner p,
#desii-site .desii-page-legal .desii-page__inner li{ font-size: 15.5px; line-height: 1.65; }

/* ==========================================================================
   WooCommerce-pagina's (winkelwagen / afrekenen / account) — opgefrist
   Conservatieve laag bovenop desii-global: pill-knoppen, rustige koppen,
   consistente kaartranden. Geen structurele wijzigingen aan Woo-markup.
   ========================================================================== */
/* Sectie-titels op woo-pagina's in dezelfde toon als de nieuwe pagina's */
.woocommerce-cart #desii-site .entry-title,
.woocommerce-checkout #desii-site .entry-title,
.woocommerce-account #desii-site .entry-title,
.woocommerce-cart #desii-site h1.page-title,
.woocommerce-checkout #desii-site h1.page-title,
.woocommerce-account #desii-site h1.page-title{
  font-size: clamp(30px, 3.4vw, 44px) !important;
  letter-spacing: -0.03em !important;
  font-weight: 800 !important;
  color: var(--desii-ink) !important;
  margin: clamp(28px,4vw,44px) 0 18px !important;
}

/* Primaire woo-knoppen krijgen de nieuwe accent-pill-look */
#desii-site .woocommerce a.button.alt,
#desii-site .woocommerce button.button.alt,
#desii-site .woocommerce input.button.alt,
#desii-site .woocommerce #place_order,
#desii-site .woocommerce .checkout-button,
#desii-site .woocommerce .wc-proceed-to-checkout a.checkout-button{
  background: var(--desii-accent) !important;
  border: 1px solid var(--desii-accent) !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
  box-shadow: 0 8px 22px rgba(48,89,89,.20) !important;
  transition: transform .14s ease, filter .15s ease !important;
}
#desii-site .woocommerce a.button.alt:hover,
#desii-site .woocommerce button.button.alt:hover,
#desii-site .woocommerce #place_order:hover,
#desii-site .woocommerce .checkout-button:hover{
  transform: translateY(-1px) !important;
  filter: brightness(1.06) !important;
}

/* Secundaire woo-knoppen: rustige pill-outline */
#desii-site .woocommerce a.button:not(.alt),
#desii-site .woocommerce button.button:not(.alt),
#desii-site .woocommerce input.button:not(.alt){
  border-radius: 999px !important;
}

/* Account-navigatie: horizontale icoon-balk bovenin de body */
#desii-site .woocommerce-MyAccount-navigation,
#desii-site .woocommerce-MyAccount-content{
  float: none !important; width: 100% !important; margin: 0 !important;
}
#desii-site .woocommerce-MyAccount-navigation{ margin: 0 0 24px !important; }
#desii-site .woocommerce-MyAccount-navigation ul{
  list-style: none !important; margin: 0 !important; padding: 6px !important;
  display: flex !important; flex-wrap: wrap !important; gap: 6px !important;
  background: var(--desii-surface) !important; border: 1px solid var(--desii-hairline) !important;
  border-radius: 16px !important;
}
#desii-site .woocommerce-MyAccount-navigation li{ margin: 0 !important; flex: 1 1 auto; }
#desii-site .woocommerce-MyAccount-navigation li a{
  display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 9px !important;
  width: 100% !important; padding: 11px 16px !important; border-radius: 11px !important;
  border: 0 !important; background: transparent !important; color: var(--desii-ink) !important;
  font-size: 14px !important; font-weight: 600 !important; text-decoration: none !important; white-space: nowrap;
  transition: background .15s ease, color .15s ease !important;
}
#desii-site .woocommerce-MyAccount-navigation li a::before{
  content: ""; width: 18px; height: 18px; flex: none;
  background: currentColor; -webkit-mask: var(--desii-navico) center/contain no-repeat; mask: var(--desii-navico) center/contain no-repeat;
}
#desii-site .woocommerce-MyAccount-navigation li a:hover{ background: var(--desii-soft, #f2f4f2) !important; }
#desii-site .woocommerce-MyAccount-navigation li.is-active a{
  background: var(--desii-accent) !important; color: #fff !important;
}
/* Iconen per menu-item (line-icons als SVG-mask) */
#desii-site .woocommerce-MyAccount-navigation-link--dashboard a{ --desii-navico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3C/svg%3E"); }
#desii-site .woocommerce-MyAccount-navigation-link--orders a{ --desii-navico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8 12 3 3 8v8l9 5 9-5z'/%3E%3Cpath d='M3 8l9 5 9-5'/%3E%3Cpath d='M12 13v8'/%3E%3C/svg%3E"); }
#desii-site .woocommerce-MyAccount-navigation-link--downloads a{ --desii-navico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3Cpath d='M5 21h14'/%3E%3C/svg%3E"); }
#desii-site .woocommerce-MyAccount-navigation-link--edit-address a{ --desii-navico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.3-7-11a7 7 0 0 1 14 0c0 4.7-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"); }
#desii-site .woocommerce-MyAccount-navigation-link--edit-account a{ --desii-navico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E"); }
#desii-site .woocommerce-MyAccount-navigation-link--customer-logout a{ --desii-navico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpath d='M16 17l5-5-5-5'/%3E%3Cpath d='M21 12H9'/%3E%3C/svg%3E"); }
@media (max-width: 40rem){
  #desii-site .woocommerce-MyAccount-navigation li{ flex: 1 1 40%; }
  #desii-site .woocommerce-MyAccount-navigation li a{ font-size: 13px !important; padding: 10px 8px !important; }
}

/* Cart/checkout kaartvlakken consistent wit met hairline.
   (woocommerce-cart-form NIET meer: de nieuwe .desii-cartx-kaarten hebben hun
   eigen wit; anders ligt er een wit paneel achter de hele winkelmand.) */
#desii-site .cart_totals,
#desii-site .woocommerce-checkout-review-order,
#desii-site .woocommerce-billing-fields,
#desii-site .woocommerce-additional-fields{
  background: var(--desii-surface);
}

/* Add-to-cart knoptekst altijd gecentreerd in de pill */
#desii-site a.button.add_to_cart_button,
#desii-site .wp-block-woocommerce-product-button a,
#desii-site .desii-buy-collection .button,
#desii-site .products .button{
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  text-align: center !important; line-height: 1 !important;
}

/* ==========================================================================
   UNIEKE PRODUCTPAGINA (PDP) — server-side template, Apple-geïnspireerd
   Overschrijft het oude JS/grid-model uit desii-global.css.
   ========================================================================== */
.single-product div.product.desii-pdp{
  display: block !important;
  grid-template-columns: none !important;
  max-width: 78rem !important;
  margin: 0 auto !important;
  padding-top: clamp(12px, 2vw, 24px) !important;
}

/* Kruimelpad */
.single-product .desii-pdp .desii-pdp__crumbs{
  display: flex; flex-wrap: wrap; align-items: center; gap: 7px;
  font-size: 13px; color: var(--desii-muted);
  margin: 4px 0 clamp(20px, 3vw, 34px);
}
.single-product .desii-pdp .desii-pdp__crumbs a{ color: var(--desii-muted) !important; text-decoration: none !important; }
.single-product .desii-pdp .desii-pdp__crumbs a:hover{ color: var(--desii-accent) !important; }
.single-product .desii-pdp .desii-pdp__crumbSep{ opacity: .45; }

/* Hoofd-grid: galerij + koopkaart */
.single-product .desii-pdp .desii-pdp__grid{
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(21rem, .9fr);
  gap: clamp(28px, 4.5vw, 72px);
  align-items: start;
}
@media (max-width: 48rem){
  .single-product .desii-pdp .desii-pdp__grid{ grid-template-columns: 1fr; gap: 24px; }
}

/* Galerij-kolom */
.single-product .desii-pdp .desii-pdp__gallery{ position: sticky; top: 96px; min-width: 0; }
@media (max-width: 48rem){
  .single-product .desii-pdp .desii-pdp__gallery{ position: static; max-width: 30rem; margin: 0 auto; }
}
.single-product .desii-pdp .woocommerce-product-gallery{
  margin: 0 !important; width: 100% !important; float: none !important;
}

/* Koopkaart-kolom */
.single-product .desii-pdp .desii-pdp__summary{ position: static !important; width: auto !important; float: none !important; padding: 0 !important; margin: 0 !important; }
.single-product .desii-pdp .desii-pdp__buy{ display: flex; flex-direction: column; }
.single-product .desii-pdp .desii-pdp__eyebrow{
  font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  color: var(--desii-accent); margin: 0 0 12px;
}
.single-product .desii-pdp .desii-pdp__title{
  font-size: clamp(28px, 3.4vw, 40px) !important; line-height: 1.08 !important;
  letter-spacing: -0.035em !important; font-weight: 800 !important;
  color: var(--desii-ink) !important; margin: 0 0 14px !important; max-width: none !important;
}
.single-product .desii-pdp .desii-pdp__rating{ display: flex; align-items: center; gap: 10px; margin: 0 0 14px; }
.single-product .desii-pdp .desii-pdp__tagline{
  font-size: 15px; font-weight: 600; color: var(--desii-accent);
  margin: 0 0 16px; letter-spacing: -0.01em;
}
/* Kenmerk-chips onder de intro */
.single-product .desii-pdp .desii-pdp__badges{
  list-style: none; margin: 0 0 22px; padding: 0;
  display: flex; flex-wrap: wrap; gap: 8px;
}
.single-product .desii-pdp .desii-pdp__badge2{
  font-size: 12.5px; font-weight: 600; color: var(--desii-ink);
  background: var(--desii-soft, #f2f4f2); border: 1px solid var(--desii-hairline);
  padding: 6px 12px; border-radius: 999px; line-height: 1;
}
/* Exclusief verhaal + voordelen */
.single-product .desii-pdp .desii-pdp__storyWrap{ margin: clamp(44px, 6vw, 76px) 0 0; }
.single-product .desii-pdp .desii-pdp__storyWrap--tinted{
  background: color-mix(in srgb, var(--desii-prod-tint) 55%, #fff);
  border: 1px solid color-mix(in srgb, var(--desii-prod-tint) 70%, #e6e8ea);
  border-radius: 22px; padding: clamp(28px, 4vw, 52px);
}
.single-product .desii-pdp .desii-pdp__storyInner{ max-width: 52rem; }
.single-product .desii-pdp .desii-pdp__storyLead{
  font-size: clamp(16px, 1.8vw, 19px); line-height: 1.65; color: rgba(44,51,62,.82); margin: 12px 0 22px;
}
.single-product .desii-pdp .desii-pdp__benefits{ list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 12px; }
.single-product .desii-pdp .desii-pdp__benefits li{ display: flex; align-items: flex-start; gap: 12px; font-size: 15.5px; line-height: 1.5; color: var(--desii-ink); }
.single-product .desii-pdp .desii-pdp__benefitIco{
  flex: none; width: 22px; height: 22px; border-radius: 50%; margin-top: 1px;
  background: var(--desii-accent); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700;
}
.single-product .desii-pdp .desii-pdp__care{
  font-size: 14px; line-height: 1.6; color: rgba(44,51,62,.7);
  background: var(--desii-soft, #f2f4f2); border-radius: 12px; padding: 14px 16px; margin: 0;
}
.single-product .desii-pdp .desii-pdp__ratingLink{ font-size: 13px; color: var(--desii-muted) !important; text-decoration: none !important; }
.single-product .desii-pdp .desii-pdp__ratingLink:hover{ color: var(--desii-accent) !important; }

.single-product .desii-pdp .desii-pdp__price{ margin: 0 0 16px; }
.single-product .desii-pdp .desii-pdp__price .price,
.single-product .desii-pdp .desii-pdp__price{
  font-size: 24px !important; font-weight: 800 !important; color: var(--desii-ink) !important;
}
.single-product .desii-pdp .desii-pdp__price del{ color: var(--desii-muted) !important; font-weight: 500 !important; opacity: .8; margin-right: 8px; }
.single-product .desii-pdp .desii-pdp__price ins{ text-decoration: none !important; }

.single-product .desii-pdp .desii-pdp__excerpt{
  font-size: 15.5px; line-height: 1.6; color: rgba(44,51,62,.74);
  margin: 0 0 22px; padding: 0 0 22px; border-bottom: 1px solid var(--desii-hairline);
}
.single-product .desii-pdp .desii-pdp__excerpt p{ margin: 0 0 8px; }

/* Add-to-cart (Woo-form) in Desii-stijl */
.single-product .desii-pdp .desii-pdp__cart .quantity{ margin: 0 12px 0 0 !important; }
.single-product .desii-pdp .desii-pdp__cart form.cart{ display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 0 20px !important; }
.single-product .desii-pdp .desii-pdp__cart .single_add_to_cart_button{
  flex: 1 1 auto; min-height: 52px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  line-height: 1 !important; text-align: center !important;
  background: var(--desii-accent) !important; border: 1px solid var(--desii-accent) !important;
  color: #fff !important; border-radius: 999px !important;
  font-size: 16px !important; font-weight: 600 !important;
  box-shadow: 0 10px 26px rgba(48,89,89,.22) !important;
  transition: transform .14s ease, filter .15s ease !important;
}
.single-product .desii-pdp .desii-pdp__cart .single_add_to_cart_button:hover{ transform: translateY(-1px) !important; filter: brightness(1.06) !important; }
.single-product .desii-pdp .desii-pdp__cart .qty{
  height: 52px !important; width: 68px !important; border-radius: 14px !important;
  border: 1px solid var(--desii-hairline-strong) !important; text-align: center !important; font-size: 15px !important;
}

/* Zekerheden */
.single-product .desii-pdp .desii-pdp__assur{ list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.single-product .desii-pdp .desii-pdp__assur li{ display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--desii-ink); }
.single-product .desii-pdp .desii-pdp__assurIco{
  display: inline-flex; align-items: center; justify-content: center;
  width: 20px; height: 20px; border-radius: 50%; flex: none;
  background: var(--desii-green-100, #e2eddb); color: var(--desii-green-700, #4f7a3c); font-size: 12px; font-weight: 800;
}
.single-product .desii-pdp .desii-pdp__meta{ font-size: 12.5px; color: var(--desii-muted); }

/* Details-accordeon */
.single-product .desii-pdp .desii-pdp__details{ margin: clamp(48px, 7vw, 88px) 0 0; }
.single-product .desii-pdp .desii-pdp__detailsInner{ max-width: none; }
.single-product .desii-pdp .desii-pdp__detailsH{
  font-size: clamp(22px, 2.4vw, 30px) !important; font-weight: 800 !important; letter-spacing: -0.03em !important;
  color: var(--desii-ink) !important; margin: 0 0 8px !important;
}
.single-product .desii-pdp .desii-accordion{ border-top: 1px solid var(--desii-hairline); }
.single-product .desii-pdp .desii-accordion__item{ border-bottom: 1px solid var(--desii-hairline); }
.single-product .desii-pdp .desii-accordion__sum{
  list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 20px 4px; font-size: 17px; font-weight: 700; color: var(--desii-ink);
}
.single-product .desii-pdp .desii-accordion__sum::-webkit-details-marker{ display: none; }
.single-product .desii-pdp .desii-accordion__sum::after{
  content: ""; width: 11px; height: 11px; flex: none; margin-right: 6px;
  border-right: 2px solid var(--desii-accent); border-bottom: 2px solid var(--desii-accent);
  transform: rotate(45deg); transition: transform .2s ease;
}
.single-product .desii-pdp .desii-accordion__item[open] .desii-accordion__sum::after{ transform: rotate(-135deg); }
.single-product .desii-pdp .desii-accordion__body{ padding: 0 4px 22px; font-size: 15px; line-height: 1.7; color: rgba(44,51,62,.78); }
.single-product .desii-pdp .desii-accordion__body p{ margin: 0 0 12px; }
.single-product .desii-pdp .desii-accordion__body table{ width: 100%; border-collapse: collapse; }
.single-product .desii-pdp .desii-accordion__body th,
.single-product .desii-pdp .desii-accordion__body td{ text-align: left; padding: 10px 0; border-bottom: 1px solid var(--desii-hairline); font-size: 14.5px; }

/* Aanraders + reviews */
.single-product .desii-pdp .desii-pdp__reco{ margin: clamp(48px, 7vw, 96px) 0 0; }
.single-product .desii-pdp .desii-pdp__reviews{ margin: clamp(40px, 6vw, 72px) 0 0; padding-top: clamp(32px,4vw,48px); border-top: 1px solid var(--desii-hairline); }

/* Sale-badge */
.single-product .desii-pdp .onsale{
  background: var(--desii-ink) !important; color: #fff !important; border: none !important;
  border-radius: 999px !important; font-size: 12px !important; font-weight: 700 !important;
  padding: 6px 12px !important; min-height: 0 !important; min-width: 0 !important;
}

/* ==========================================================================
   Winkelmand-icoon met live telbadge (header)
   ========================================================================== */
#desii-site .desii-header-cart{ position: relative; }
#desii-site .desii-cart-count{
  position: absolute; top: -2px; right: -2px;
  min-width: 17px; height: 17px; padding: 0 4px;
  display: none; align-items: center; justify-content: center;
  background: var(--desii-accent, #305959); color: #fff;
  font-size: 10.5px; font-weight: 700; line-height: 1; border-radius: 999px;
  box-shadow: 0 0 0 2px var(--desii-surface, #fff);
}
#desii-site .desii-cart-count.is-visible{ display: inline-flex; }

/* ==========================================================================
   UNIEKE WINKELMAND (cart) — Apple-geïnspireerd
   ========================================================================== */
.woocommerce-cart #desii-site .desii-cart2{ max-width: 78rem; margin: 0 auto; padding: clamp(12px,2vw,24px) 0 0; }
.woocommerce-cart #desii-site .desii-cart2__head{
  display: flex; align-items: flex-end; justify-content: space-between; gap: 16px;
  margin: 0 0 clamp(20px, 3vw, 32px); flex-wrap: wrap;
}
.woocommerce-cart #desii-site .desii-cart2__h1{
  font-size: clamp(30px, 3.6vw, 46px) !important; font-weight: 800 !important; letter-spacing: -0.035em !important;
  color: var(--desii-ink) !important; margin: 0 0 4px !important;
}
.woocommerce-cart #desii-site .desii-cart2__sub{ font-size: 15px; color: var(--desii-muted); margin: 0; }
.woocommerce-cart #desii-site .desii-cart2__cont{ font-size: 14.5px; font-weight: 600; color: var(--desii-accent) !important; text-decoration: none !important; white-space: nowrap; }
.woocommerce-cart #desii-site .desii-cart2__cont:hover{ text-decoration: underline !important; }

.woocommerce-cart #desii-site .desii-cart2__grid{
  display: grid; grid-template-columns: minmax(0,1fr) minmax(20rem, .72fr);
  gap: clamp(24px, 3.5vw, 56px); align-items: start;
}
@media (max-width: 52rem){ .woocommerce-cart #desii-site .desii-cart2__grid{ grid-template-columns: 1fr; gap: 28px; } }

/* Regels */
.woocommerce-cart #desii-site .desii-cart2__items{ min-width: 0; }
.woocommerce-cart #desii-site .desii-cart2__row{
  display: grid; grid-template-columns: 92px 1fr; gap: 16px;
  padding: 20px 0; border-bottom: 1px solid var(--desii-hairline); align-items: start;
}
.woocommerce-cart #desii-site .desii-cart2__row:first-child{ border-top: 1px solid var(--desii-hairline); }
.woocommerce-cart #desii-site .desii-cart2__thumb{ width: 92px; }
.woocommerce-cart #desii-site .desii-cart2__thumb img{ width: 92px; height: 92px; object-fit: cover; border: 1px solid var(--desii-hairline); display: block; }
.woocommerce-cart #desii-site .desii-cart2__info{ min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.woocommerce-cart #desii-site .desii-cart2__name{ font-size: 16px; font-weight: 700; color: var(--desii-ink); line-height: 1.3; }
.woocommerce-cart #desii-site .desii-cart2__name a{ color: var(--desii-ink) !important; text-decoration: none !important; }
.woocommerce-cart #desii-site .desii-cart2__name a:hover{ color: var(--desii-accent) !important; }
.woocommerce-cart #desii-site .desii-cart2__unit{ font-size: 13.5px; color: var(--desii-muted); }
.woocommerce-cart #desii-site .desii-cart2__rowfoot{ display: flex; align-items: center; gap: 16px; margin-top: 6px; flex-wrap: wrap; }
.woocommerce-cart #desii-site .desii-cart2__qty .quantity{ margin: 0 !important; }
.woocommerce-cart #desii-site .desii-cart2__qty .qty{
  height: 42px !important; width: 64px !important; border-radius: 12px !important;
  border: 1px solid var(--desii-hairline-strong) !important; text-align: center !important; font-size: 14px !important;
}
.woocommerce-cart #desii-site .desii-cart2__sub{ font-size: 16px; font-weight: 800; color: var(--desii-ink); margin-left: auto; }
.woocommerce-cart #desii-site .desii-cart2__remove{
  font-size: 13px !important; color: var(--desii-muted) !important; text-decoration: none !important;
  background: none !important; width: auto !important; height: auto !important; border-radius: 0 !important;
}
.woocommerce-cart #desii-site .desii-cart2__remove:hover{ color: #c0392b !important; }

/* Toolbar (coupon + bijwerken) */
.woocommerce-cart #desii-site .desii-cart2__toolbar{ display: flex; align-items: center; gap: 12px; margin: 22px 0 0; flex-wrap: wrap; }
.woocommerce-cart #desii-site .desii-cart2__coupon{ display: flex; gap: 8px; flex: 1 1 auto; max-width: 360px; }
.woocommerce-cart #desii-site .desii-cart2__couponInput{
  flex: 1 1 auto; height: 44px !important; border-radius: 999px !important;
  border: 1px solid var(--desii-hairline-strong) !important; padding: 0 16px !important; font-size: 14px !important;
}
.woocommerce-cart #desii-site .desii-cart2__couponBtn,
.woocommerce-cart #desii-site .desii-cart2__update{
  height: 44px !important; border-radius: 999px !important; padding: 0 18px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important; line-height: 1 !important;
  border: 1px solid var(--desii-hairline-strong) !important; background: var(--desii-surface) !important;
  color: var(--desii-ink) !important; font-weight: 600 !important; font-size: 14px !important; box-shadow: none !important;
}
.woocommerce-cart #desii-site .desii-cart2__update{ margin-left: auto; }

/* Overzicht-kaart (Woo cart_totals) */
.woocommerce-cart #desii-site .desii-cart2__summary{
  background: var(--desii-surface); border: 1px solid var(--desii-hairline); border-radius: 18px;
  padding: 22px 22px 24px; position: sticky; top: 96px;
}
.woocommerce-cart #desii-site .desii-cart2__summary .cart_totals > h2{
  font-size: 19px !important; font-weight: 800 !important; letter-spacing: -0.02em !important;
  color: var(--desii-ink) !important; margin: 0 0 14px !important;
}
.woocommerce-cart #desii-site .desii-cart2__summary table.shop_table{
  border: 0 !important; margin: 0 !important; width: 100% !important; background: transparent !important;
}
.woocommerce-cart #desii-site .desii-cart2__summary table.shop_table th,
.woocommerce-cart #desii-site .desii-cart2__summary table.shop_table td{
  border: 0 !important; border-bottom: 1px solid var(--desii-hairline) !important;
  padding: 12px 0 !important; font-size: 14.5px !important; background: transparent !important; color: var(--desii-ink) !important;
}
.woocommerce-cart #desii-site .desii-cart2__summary table.shop_table th{ font-weight: 600 !important; color: var(--desii-muted) !important; text-align: left !important; }
.woocommerce-cart #desii-site .desii-cart2__summary .order-total th,
.woocommerce-cart #desii-site .desii-cart2__summary .order-total td{ font-size: 17px !important; font-weight: 800 !important; color: var(--desii-ink) !important; border-bottom: 0 !important; }
.woocommerce-cart #desii-site .desii-cart2__summary .wc-proceed-to-checkout{ padding: 18px 0 0 !important; }
.woocommerce-cart #desii-site .desii-cart2__summary .checkout-button{
  display: flex !important; align-items: center; justify-content: center; text-align: center;
  width: 100% !important; min-height: 52px !important; border-radius: 999px !important;
  padding: 10px 20px !important; line-height: 1.2 !important;
  background: var(--desii-accent) !important; border: 1px solid var(--desii-accent) !important; color: #fff !important;
  font-size: 16px !important; font-weight: 600 !important; box-shadow: 0 10px 26px rgba(48,89,89,.22) !important;
}
/* Woo-pijl (wc-forward ::after) uit — ook zonder body.desii-cart-page, zodat de tekst gecentreerd blijft */
.woocommerce-cart #desii-site .desii-cart2__summary .checkout-button::before,
.woocommerce-cart #desii-site .desii-cart2__summary .checkout-button::after{ content: none !important; display: none !important; }
.woocommerce-cart #desii-site .desii-cart2__assur{ list-style: none; margin: 16px 4px 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.woocommerce-cart #desii-site .desii-cart2__assur li{ display: flex; align-items: center; gap: 9px; font-size: 13px; color: var(--desii-ink); }
.woocommerce-cart #desii-site .desii-cart2__assurIco{
  display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; flex: none;
  background: var(--desii-green-100, #e2eddb); color: var(--desii-green-700, #4f7a3c); font-size: 11px; font-weight: 800;
}
.woocommerce-cart #desii-site .desii-cart2__crosssell{ margin: clamp(40px,6vw,72px) 0 0; }

/* Lege winkelmand */
.woocommerce-cart #desii-site .desii-cart2--empty{ display: flex; flex-direction: column; align-items: center; }
.woocommerce-cart #desii-site .desii-cart2__emptyBox{ text-align: center; max-width: 42rem; margin: clamp(30px,6vw,80px) auto; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.woocommerce-cart #desii-site .desii-cart2__emptyIco{
  width: 72px; height: 72px; border-radius: 50%; display: grid; place-items: center; margin: 0 0 12px;
  background: var(--desii-offwhite, #f7f7f7); color: var(--desii-accent);
}
.woocommerce-cart #desii-site .desii-cart2__emptyH{ font-size: clamp(26px,3vw,36px) !important; font-weight: 800 !important; letter-spacing: -0.03em !important; color: var(--desii-ink) !important; margin: 0 !important; }
.woocommerce-cart #desii-site .desii-cart2__emptyP{ font-size: 16px; line-height: 1.6; color: rgba(44,51,62,.7); margin: 0 0 18px; }

/* ==========================================================================
   AFREKENEN (checkout) — Apple-verfijning bovenop de bestaande template
   Zelfde taal als PDP + winkelmand: afgeronde kaarten, pill-knoppen, ronde velden.
   ========================================================================== */
body.desii-checkout-page .desii-checkout__inner{ max-width: 72rem !important; }
body.desii-checkout-page .desii-checkout__h1{
  font-size: clamp(30px, 3.6vw, 46px) !important; font-weight: 800 !important;
  letter-spacing: -0.035em !important; color: var(--desii-ink) !important;
}
body.desii-checkout-page .desii-checkout__sectionH,
body.desii-checkout-page .desii-summary__h{
  font-size: 19px !important; font-weight: 800 !important; letter-spacing: -0.02em !important; color: var(--desii-ink) !important;
}

/* Kaarten afgerond, hairline + zachte schaduw */
body.desii-checkout-page .desii-card{
  border-radius: 18px !important;
  border: 1px solid var(--desii-hairline) !important;
  box-shadow: 0 12px 30px rgba(44,51,62,.07) !important;
  padding: clamp(20px, 2.4vw, 30px) !important;
}
body.desii-checkout-page .desii-checkout__right{ top: 96px !important; }

/* Invoervelden rond + ruimer */
body.desii-checkout-page .woocommerce-input-wrapper input.input-text,
body.desii-checkout-page .woocommerce-input-wrapper textarea,
body.desii-checkout-page .woocommerce-input-wrapper select,
body.desii-checkout-page .select2-container--default .select2-selection--single{
  border-radius: 12px !important;
  border: 1px solid var(--desii-hairline-strong) !important;
  min-height: 48px !important;
  padding: 12px 14px !important;
  font-size: 15px !important;
  background: var(--desii-surface) !important;
  transition: border-color .15s ease, box-shadow .15s ease !important;
}
body.desii-checkout-page .woocommerce-input-wrapper input.input-text:focus,
body.desii-checkout-page .woocommerce-input-wrapper textarea:focus,
body.desii-checkout-page .woocommerce-input-wrapper select:focus{
  outline: none !important;
  border-color: var(--desii-accent) !important;
  box-shadow: 0 0 0 3px rgba(48,89,89,.14) !important;
}
body.desii-checkout-page .form-row label{ font-size: 13px !important; font-weight: 600 !important; color: var(--desii-muted) !important; margin: 0 0 6px !important; }

/* Betaalmethoden als nette blokken */
body.desii-checkout-page #payment .payment_box{
  border-radius: 12px !important; background: var(--desii-offwhite, #f7f7f7) !important; border: 1px solid var(--desii-hairline) !important;
}
body.desii-checkout-page #payment ul.payment_methods{ border: 0 !important; }

/* Bestel-knop als grote accent-pill */
body.desii-checkout-page #place_order,
body.desii-checkout-page button#place_order{
  border-radius: 999px !important;
  min-height: 54px !important;
  background: var(--desii-accent) !important;
  border: 1px solid var(--desii-accent) !important;
  color: #fff !important;
  font-size: 16px !important; font-weight: 600 !important;
  box-shadow: 0 10px 26px rgba(48,89,89,.22) !important;
}

/* Coupon/login-knoppen als pill */
body.desii-checkout-page .woocommerce-form-login button,
body.desii-checkout-page .woocommerce-form-coupon button,
body.desii-checkout-page form.login button.button,
body.desii-checkout-page form.checkout_coupon button.button{
  border-radius: 999px !important;
}
body.desii-checkout-page .woocommerce-form-login input.input-text,
body.desii-checkout-page .woocommerce-form-coupon input.input-text{
  border-radius: 12px !important; min-height: 46px !important; padding: 10px 14px !important;
}

/* Info-/loginbalken afgerond i.p.v. vierkant */
body.desii-checkout-page .woocommerce-info,
body.desii-checkout-page .woocommerce-message{
  border-radius: 14px !important;
}

/* Mobiele bestelbalk-knop pill */
body.desii-checkout-page .desii-checkoutBar__cta{ border-radius: 999px !important; min-height: 46px !important; font-weight: 600 !important; }

/* ==========================================================================
   Account-type keuze (registratie: Particulier / Zakelijk)
   ========================================================================== */
#desii-site .desii-acctype{ margin: 0 0 22px; }
#desii-site .desii-acctype__label{ font-size: 13px; font-weight: 600; color: var(--desii-muted); margin: 0 0 10px; }
#desii-site .desii-acctype__seg{ display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 30rem){ #desii-site .desii-acctype__seg{ grid-template-columns: 1fr; } }
#desii-site .desii-acctype__opt{
  position: relative; display: flex; flex-direction: column; gap: 3px; cursor: pointer;
  padding: 16px 16px 16px 44px; border: 1px solid var(--desii-hairline-strong); border-radius: 16px;
  background: var(--desii-surface); transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
#desii-site .desii-acctype__opt:hover{ border-color: var(--desii-accent); }
#desii-site .desii-acctype__opt input{ position: absolute; opacity: 0; pointer-events: none; }
#desii-site .desii-acctype__opt::before{
  content: ""; position: absolute; left: 16px; top: 18px; width: 18px; height: 18px; border-radius: 50%;
  border: 2px solid var(--desii-hairline-strong); transition: border-color .15s ease, background .15s ease;
}
#desii-site .desii-acctype__opt.is-active{ border-color: var(--desii-accent); box-shadow: 0 0 0 1px var(--desii-accent) inset; background: var(--desii-cream, #f4f6f2); }
#desii-site .desii-acctype__opt.is-active::before{ border-color: var(--desii-accent); background: radial-gradient(circle at center, var(--desii-accent) 0 5px, transparent 6px); }
#desii-site .desii-acctype__optH{ font-size: 15.5px; font-weight: 700; color: var(--desii-ink); }
#desii-site .desii-acctype__optP{ font-size: 12.5px; line-height: 1.4; color: var(--desii-muted); }
#desii-site .desii-reg-biz[hidden]{ display: none !important; }

/* ==========================================================================
   MIJN ACCOUNT — login + registreren (Apple-stijl), en portalen
   ========================================================================== */
body.woocommerce-account #desii-site .woocommerce{ max-width: 68rem; margin: clamp(16px,3vw,32px) auto 0; }
body.woocommerce-account #desii-site #customer_login.u-columns{ display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px,3vw,40px); }
@media (max-width: 52rem){ body.woocommerce-account #desii-site #customer_login.u-columns{ grid-template-columns: 1fr; } }
body.woocommerce-account #desii-site #customer_login .u-column1,
body.woocommerce-account #desii-site #customer_login .u-column2{ width: auto !important; float: none !important; margin: 0 !important; }
body.woocommerce-account #desii-site #customer_login h2{
  font-size: clamp(24px,2.6vw,32px) !important; font-weight: 800 !important; letter-spacing: -0.03em !important;
  color: var(--desii-ink) !important; margin: 0 0 16px !important;
}
body.woocommerce-account #desii-site form.woocommerce-form-login,
body.woocommerce-account #desii-site form.woocommerce-form-register{
  background: var(--desii-surface); border: 1px solid var(--desii-hairline); border-radius: 18px;
  padding: clamp(20px,2.4vw,28px) !important; box-shadow: 0 12px 30px rgba(44,51,62,.06);
}
body.woocommerce-account #desii-site .woocommerce-form-row label,
body.woocommerce-account #desii-site .woocommerce form .form-row label{
  font-size: 13px !important; font-weight: 600 !important; color: var(--desii-muted) !important; margin: 0 0 6px !important;
}
body.woocommerce-account #desii-site .woocommerce-Input.input-text,
body.woocommerce-account #desii-site .woocommerce form .input-text,
body.woocommerce-account #desii-site .woocommerce form input[type="text"],
body.woocommerce-account #desii-site .woocommerce form input[type="email"],
body.woocommerce-account #desii-site .woocommerce form input[type="password"]{
  width: 100% !important; min-height: 48px !important; border-radius: 12px !important;
  border: 1px solid var(--desii-hairline-strong) !important; padding: 12px 14px !important; font-size: 15px !important;
  background: var(--desii-surface) !important; transition: border-color .15s ease, box-shadow .15s ease !important;
}
body.woocommerce-account #desii-site .woocommerce-Input.input-text:focus,
body.woocommerce-account #desii-site .woocommerce form .input-text:focus{
  outline: none !important; border-color: var(--desii-accent) !important; box-shadow: 0 0 0 3px rgba(48,89,89,.14) !important;
}
body.woocommerce-account #desii-site .woocommerce-form-login__submit,
body.woocommerce-account #desii-site .woocommerce-form-register__submit,
body.woocommerce-account #desii-site .woocommerce-Button.button{
  width: 100% !important; min-height: 50px !important; border-radius: 999px !important;
  background: var(--desii-accent) !important; border: 1px solid var(--desii-accent) !important; color: #fff !important;
  font-size: 15px !important; font-weight: 600 !important; box-shadow: 0 10px 24px rgba(48,89,89,.22) !important; margin-top: 4px !important;
}
body.woocommerce-account #desii-site .woocommerce-form-login__rememberme{ display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--desii-muted); }
body.woocommerce-account #desii-site .woocommerce-LostPassword a{ color: var(--desii-accent) !important; font-weight: 600; text-decoration: none !important; }
body.woocommerce-account #desii-site .woocommerce-privacy-policy-text p{ font-size: 12.5px; color: var(--desii-muted); }

/* Ingelogd: navigatie + inhoud (particulier) */
body.woocommerce-account #desii-site .woocommerce-MyAccount-content{ background: var(--desii-surface); border: 1px solid var(--desii-hairline); border-radius: 18px; padding: clamp(20px,2.4vw,28px); }

/* ==========================================================================
   ZAKELIJK PORTAAL (2a)
   ========================================================================== */
#desii-site .desii-b2b{ margin: 0; }
#desii-site .desii-b2b__hi{ font-size: clamp(22px,2.4vw,30px); font-weight: 800; letter-spacing: -0.03em; color: var(--desii-ink); margin: 0 0 4px; }
#desii-site .desii-b2b__sub{ font-size: 14.5px; color: rgba(44,51,62,.66); margin: 0 0 22px; }
#desii-site .desii-b2b__actions{ display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin: 0 0 20px; }
@media (max-width: 40rem){ #desii-site .desii-b2b__actions{ grid-template-columns: 1fr; } }
#desii-site .desii-b2b__act{
  display: flex; flex-direction: column; gap: 5px; text-decoration: none !important;
  background: var(--desii-surface); border: 1px solid var(--desii-hairline); border-radius: 16px; padding: 18px 18px 20px;
  transition: border-color .15s ease, transform .12s ease, box-shadow .15s ease;
}
#desii-site .desii-b2b__act:hover{ border-color: var(--desii-accent); transform: translateY(-2px); box-shadow: 0 14px 30px rgba(44,51,62,.10); }
#desii-site .desii-b2b__actIco{ font-size: 22px; line-height: 1; }
#desii-site .desii-b2b__actH{ font-weight: 700; color: var(--desii-ink); font-size: 15px; }
#desii-site .desii-b2b__actP{ font-size: 12.5px; color: var(--desii-muted); line-height: 1.5; }
#desii-site .desii-b2b__grid{ display: grid; grid-template-columns: 1.4fr 1fr; gap: 16px; }
@media (max-width: 52rem){ #desii-site .desii-b2b__grid{ grid-template-columns: 1fr; } }
#desii-site .desii-b2b__card{ background: var(--desii-surface); border: 1px solid var(--desii-hairline); border-radius: 16px; overflow: hidden; }
#desii-site .desii-b2b__cardH{ padding: 15px 18px; border-bottom: 1px solid var(--desii-hairline); font-weight: 700; color: var(--desii-ink); }
#desii-site .desii-b2b__cardB{ padding: 16px 18px; }
#desii-site .desii-sku-row{ display: grid; grid-template-columns: 1fr 84px 96px; gap: 10px; align-items: center; margin: 0 0 10px; }
#desii-site .desii-sku-row input{ height: 44px !important; border-radius: 12px !important; border: 1px solid var(--desii-hairline-strong) !important; padding: 0 12px !important; font-size: 14px !important; margin: 0 !important; width: 100% !important; }
#desii-site .desii-sku-row .button,
#desii-site .desii-b2b__card .button{ height: 44px; border-radius: 999px !important; background: var(--desii-accent) !important; border: 1px solid var(--desii-accent) !important; color: #fff !important; font-weight: 600 !important; font-size: 13.5px !important; box-shadow: none !important; }
#desii-site .desii-b2b__addmore{ background: transparent !important; color: var(--desii-accent) !important; border: 0 !important; font-weight: 600; font-size: 13px; cursor: pointer; padding: 4px 0; }
#desii-site .desii-b2b__stat{ display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--desii-hairline); font-size: 14px; }
#desii-site .desii-b2b__stat:last-of-type{ border-bottom: 0; }
#desii-site .desii-b2b__stat span{ color: var(--desii-muted); }
#desii-site .desii-b2b__stat strong{ color: var(--desii-ink); }
#desii-site .desii-b2b__full{ width: 100%; margin-top: 12px; min-height: 46px; display: inline-flex; align-items: center; justify-content: center; text-align: center; line-height: 1; }
#desii-site .desii-b2b__note{ font-size: 12px; color: var(--desii-muted); margin: 8px 0 0; }
/* Snelkiezer met product- en maat-dropdowns */
#desii-site .desii-quick__rows{ display: flex; flex-direction: column; gap: 10px; margin: 0 0 12px; }
#desii-site .desii-quick__row{ display: grid; grid-template-columns: minmax(0,1.6fr) minmax(0,1fr) auto 70px 30px; gap: 8px; align-items: center; }
#desii-site .desii-quick__prod,
#desii-site .desii-quick__maat{
  height: 44px; border-radius: 12px; border: 1px solid var(--desii-hairline-strong); background: var(--desii-surface);
  padding: 0 30px 0 12px; font-size: 13.5px; min-width: 0; width: 100%;
  appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%236b7280' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 10px center;
}
#desii-site .desii-quick__maat:disabled{ opacity: .5; }
#desii-site .desii-quick__price{ font-size: 13.5px; font-weight: 800; color: var(--desii-ink); font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
#desii-site .desii-quick__qty{ height: 44px !important; width: 100%; border-radius: 12px !important; border: 1px solid var(--desii-hairline-strong) !important; padding: 0 8px !important; font-size: 14px !important; text-align: center; font-weight: 700; }
#desii-site .desii-quick__del{ height: 30px; width: 30px; border: 0 !important; background: transparent !important; color: var(--desii-muted) !important; font-size: 20px; line-height: 1; cursor: pointer; border-radius: 8px !important; box-shadow: none !important; padding: 0 !important; min-height: 0 !important; }
#desii-site .desii-quick__del:hover{ background: var(--desii-soft, #f2f4f2) !important; color: var(--desii-ink) !important; }
@media (max-width: 34rem){
  #desii-site .desii-quick__row{ grid-template-columns: 1fr 1fr; grid-auto-rows: auto; }
  #desii-site .desii-quick__prod{ grid-column: 1 / -1; }
  #desii-site .desii-quick__price{ text-align: left; align-self: center; }
  #desii-site .desii-quick__del{ justify-self: end; }
}
#desii-site .desii-b2b__actIco{ line-height: 0; color: var(--desii-accent); }
#desii-site .desii-ico2{ display: inline-flex; }
#desii-site .desii-ico2 svg{ width: 24px; height: 24px; }
#desii-site .desii-portal-c__order{ display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
#desii-site .desii-portal-c__order .button{ height: 44px; border-radius: 999px !important; background: var(--desii-accent) !important; border: 1px solid var(--desii-accent) !important; color: #fff !important; font-weight: 600 !important; font-size: 13.5px !important; box-shadow: none !important; }

/* ==========================================================================
   ZAKELIJKE WINKEL (B2B shop) — dichte, efficiënte weergave
   ========================================================================== */
#desii-site .desii-bshop__band{ background: var(--desii-ink, #2c333e); color: #fff; }
#desii-site .desii-bshop__bandInner{ display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: clamp(32px,4vw,52px); padding-bottom: clamp(32px,4vw,52px); flex-wrap: wrap; }
#desii-site .desii-bshop__eyebrow{ font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--desii-green-300, #a6c99a) !important; margin: 0 0 8px; }
#desii-site .desii-bshop__h1{ font-size: clamp(26px,3vw,38px); font-weight: 800; letter-spacing: -0.035em; margin: 0 0 8px; color: #fff !important; }
#desii-site .desii-bshop__lead{ font-size: 15px; line-height: 1.55; color: rgba(255,255,255,.78) !important; margin: 0; max-width: 52ch; }
#desii-site .desii-bshop__bandCta{ display: flex; gap: 12px; flex-wrap: wrap; }
#desii-site .desii-bshop__band .desii-cta:not(.desii-cta--ghost){ background: #fff; border-color: #fff; color: var(--desii-ink) !important; }
#desii-site .desii-bshop__band .desii-cta--ghost{ border-color: rgba(255,255,255,.4); color: #fff !important; }
#desii-site .desii-bshop__search{ height: 42px; border-radius: 999px; border: 1px solid var(--desii-hairline-strong); padding: 0 16px; font-size: 14px; min-width: 260px; background: var(--desii-surface); }

#desii-site .desii-bshop__list{ border: 1px solid var(--desii-hairline); border-radius: 14px; overflow: hidden; background: var(--desii-surface); }
#desii-site .desii-bshop__head,
#desii-site .desii-bshop__row{ display: grid; grid-template-columns: minmax(0,1fr) 170px 120px 132px 128px; align-items: center; gap: 16px; padding: 12px 18px; }
#desii-site .desii-bshop__head{ background: var(--desii-offwhite, #f7f7f7); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--desii-muted); }
#desii-site .desii-bshop__row{ border-top: 1px solid var(--desii-hairline); }
#desii-site .desii-bshop__prod{ display: flex; align-items: center; gap: 12px; min-width: 0; }
#desii-site .desii-bshop__thumb{ width: 46px; height: 46px; flex: none; border: 1px solid var(--desii-hairline); border-radius: 8px; overflow: hidden; display: block; }
#desii-site .desii-bshop__thumb img{ width: 100%; height: 100%; object-fit: cover; display: block; }
#desii-site .desii-bshop__prodMeta{ display: flex; flex-direction: column; gap: 2px; min-width: 0; }
#desii-site .desii-bshop__name{ font-weight: 700; font-size: 14.5px; color: var(--desii-ink) !important; text-decoration: none !important; }
#desii-site .desii-bshop__name:hover{ color: var(--desii-accent) !important; }
#desii-site .desii-bshop__sku{ font-size: 12px; color: var(--desii-muted); font-variant-numeric: tabular-nums; }
#desii-site .desii-bshop__novariant{ color: var(--desii-muted); }
#desii-site .desii-bshop__select{
  width: 100%; height: 42px; border-radius: 10px; border: 1px solid var(--desii-hairline-strong);
  padding: 0 34px 0 12px; font-size: 13.5px; background: var(--desii-surface);
  appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%236b7280' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center;
}
#desii-site .desii-bshop__price{ font-size: 15px; font-weight: 800; color: var(--desii-ink); font-variant-numeric: tabular-nums; }
#desii-site .desii-bshop__qty{ display: inline-flex; align-items: center; border: 1px solid var(--desii-hairline-strong); border-radius: 999px; overflow: hidden; height: 42px; width: fit-content; }
#desii-site .desii-bshop__step{
  width: 38px; height: 40px; border: 0; background: transparent; cursor: pointer;
  font-size: 18px; line-height: 1; color: var(--desii-ink); display: inline-flex; align-items: center; justify-content: center;
}
#desii-site .desii-bshop__step:hover{ background: var(--desii-soft, #f2f4f2); }
#desii-site .desii-bshop__qty input{
  width: 44px; height: 40px; border: 0 !important; text-align: center; font-size: 14.5px; font-weight: 700;
  background: transparent; -moz-appearance: textfield; padding: 0 !important;
}
#desii-site .desii-bshop__qty input::-webkit-outer-spin-button,
#desii-site .desii-bshop__qty input::-webkit-inner-spin-button{ -webkit-appearance: none; margin: 0; }
#desii-site .desii-bshop__rowbtn{
  display: inline-flex; align-items: center; justify-content: center; text-align: center;
  width: 100%; min-height: 42px; line-height: 1; border-radius: 999px;
  background: var(--desii-accent); border: 1px solid var(--desii-accent); color: #fff;
  font-weight: 600; font-size: 13.5px; cursor: pointer; box-shadow: none; padding: 0 14px;
  transition: filter .15s ease;
}
#desii-site .desii-bshop__rowbtn:hover{ filter: brightness(1.06); }

/* Sticky actiebalk onderaan de tabel */
#desii-site .desii-bshop__bar{
  position: sticky; bottom: 16px; margin-top: 16px;
  display: none; flex-direction: column; gap: 12px;
  background: var(--desii-surface); border: 1px solid var(--desii-hairline); border-radius: 16px;
  padding: 16px 18px; box-shadow: 0 12px 34px rgba(44,51,62,.12);
}
#desii-site .desii-bshop__bar.is-active{ display: flex; border-color: var(--desii-accent); }
#desii-site .desii-bshop__selWrap{ display: flex; flex-direction: column; gap: 8px; }
#desii-site .desii-bshop__selHead{ display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
#desii-site .desii-bshop__barCount{ font-weight: 800; color: var(--desii-ink); font-size: 15px; }
#desii-site .desii-bshop__barTotal{ font-size: 14px; font-weight: 800; color: var(--desii-ink); font-variant-numeric: tabular-nums; }
#desii-site .desii-bshop__sel{ display: flex; flex-direction: column; gap: 2px; max-height: 220px; overflow-y: auto; }
#desii-site .desii-bshop__selRow{
  display: grid; grid-template-columns: 40px minmax(0,1fr) auto 28px; gap: 10px; align-items: center;
  padding: 7px 0; border-top: 1px solid var(--desii-hairline);
}
#desii-site .desii-bshop__selRow:first-child{ border-top: 0; }
#desii-site .desii-bshop__selQty{ font-weight: 800; color: var(--desii-accent); font-variant-numeric: tabular-nums; font-size: 13.5px; }
#desii-site .desii-bshop__selName{ font-size: 13.5px; color: var(--desii-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#desii-site .desii-bshop__selPrice{ font-size: 13.5px; font-weight: 700; color: var(--desii-ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
#desii-site .desii-bshop__selDel{ width: 26px; height: 26px; border: 0; background: transparent; color: var(--desii-muted); font-size: 18px; line-height: 1; cursor: pointer; border-radius: 8px; padding: 0; }
#desii-site .desii-bshop__selDel:hover{ background: var(--desii-soft, #f2f4f2); color: var(--desii-ink); }
#desii-site .desii-bshop__bulkbtn{
  display: inline-flex; align-items: center; justify-content: center; text-align: center; width: 100%;
  min-height: 50px; padding: 0 26px; border-radius: 999px; line-height: 1;
  background: var(--desii-accent); border: 1px solid var(--desii-accent); color: #fff;
  font-weight: 700; font-size: 15px; cursor: pointer; box-shadow: 0 10px 24px rgba(48,89,89,.22);
  transition: filter .15s ease;
}
#desii-site .desii-bshop__bulkbtn:hover{ filter: brightness(1.06); }
#desii-site .desii-bshop__bulkbtn:disabled{ opacity: .5; cursor: default; box-shadow: none; }

@media (max-width: 48rem){
  #desii-site .desii-bshop__head{ display: none; }
  #desii-site .desii-bshop__row{ grid-template-columns: 1fr 1fr; gap: 10px 14px; padding: 14px 16px; }
  #desii-site .desii-bshop__prod{ grid-column: 1 / -1; }
  #desii-site .desii-bshop__variant{ grid-column: 1 / -1; }
  #desii-site .desii-bshop__price{ align-self: center; }
  #desii-site .desii-bshop__qty{ justify-self: end; }
  #desii-site .desii-bshop__add{ grid-column: 1 / -1; }
  #desii-site .desii-bshop__rowbtn{ width: 100%; }
}

/* ==========================================================================
   PORTAAL-POPUP — herstyling naar de nieuwe Apple-look
   ========================================================================== */
.desii-portal-gate__backdrop{ background: rgba(20,25,32,.5) !important; backdrop-filter: blur(4px) !important; }
.desii-portal-gate__dialog{
  border-radius: 22px !important;
  max-width: 44rem !important;
  box-shadow: 0 30px 80px rgba(20,25,32,.28) !important;
  padding: clamp(24px,4vw,40px) !important;
}
.desii-portal-gate__title{ letter-spacing: -0.03em !important; font-weight: 800 !important; color: var(--desii-ink) !important; }
.desii-portal-gate__card{
  border-radius: 16px !important; border: 1px solid var(--desii-hairline) !important;
  background: var(--desii-surface) !important; padding: clamp(18px,3vw,24px) !important;
  transition: border-color .15s ease, box-shadow .15s ease, transform .12s ease !important;
}
.desii-portal-gate__card:hover{ border-color: var(--desii-accent) !important; box-shadow: 0 14px 30px rgba(44,51,62,.10) !important; transform: translateY(-2px); }
.desii-portal-gate__card--business{ background: var(--desii-cream, #f4f6f2) !important; border-color: var(--desii-accent) !important; box-shadow: 0 0 0 1px var(--desii-accent) inset !important; }
.desii-portal-gate__h{ font-weight: 800 !important; letter-spacing: -0.02em !important; }
.desii-portal-gate .desii-btn,
.desii-portal-gate .desii-btn--primary{
  border-radius: 999px !important; align-self: stretch !important;
  min-height: 48px !important; background: var(--desii-accent) !important; border: 1px solid var(--desii-accent) !important;
  color: #fff !important; font-weight: 600 !important; text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(48,89,89,.22) !important;
}
.desii-portal-gate__close{ border-radius: 999px !important; }

/* ==========================================================================
   MIJN ACCOUNT — hardening (zonder #desii-site-afhankelijkheid)
   Zorgt dat login/registreren óók stijlt als de inhoud buiten #desii-site rendert.
   ========================================================================== */
body.woocommerce-account #customer_login.u-columns{ display: grid !important; grid-template-columns: 1fr 1fr; gap: clamp(20px,3vw,40px); }
@media (max-width: 52rem){ body.woocommerce-account #customer_login.u-columns{ grid-template-columns: 1fr; } }
body.woocommerce-account #customer_login .u-column1,
body.woocommerce-account #customer_login .u-column2{ width: auto !important; float: none !important; margin: 0 !important; }
body.woocommerce-account #customer_login h2{ font-size: clamp(24px,2.6vw,32px) !important; font-weight: 800 !important; letter-spacing: -0.03em !important; color: var(--desii-ink) !important; margin: 0 0 16px !important; }
body.woocommerce-account form.woocommerce-form-login,
body.woocommerce-account form.woocommerce-form-register{
  background: var(--desii-surface) !important; border: 1px solid var(--desii-hairline) !important; border-radius: 18px !important;
  padding: clamp(20px,2.4vw,28px) !important; box-shadow: 0 12px 30px rgba(44,51,62,.06) !important;
}
body.woocommerce-account .woocommerce form .input-text,
body.woocommerce-account .woocommerce-Input.input-text,
body.woocommerce-account .woocommerce form input[type="text"],
body.woocommerce-account .woocommerce form input[type="email"],
body.woocommerce-account .woocommerce form input[type="password"]{
  width: 100% !important; min-height: 48px !important; border-radius: 12px !important;
  border: 1px solid var(--desii-hairline-strong) !important; padding: 12px 14px !important; font-size: 15px !important; background: var(--desii-surface) !important;
}
body.woocommerce-account .woocommerce form .input-text:focus{ outline: none !important; border-color: var(--desii-accent) !important; box-shadow: 0 0 0 3px rgba(48,89,89,.14) !important; }
body.woocommerce-account .woocommerce-form-login__submit,
body.woocommerce-account .woocommerce-form-register__submit,
body.woocommerce-account .woocommerce-Button.button{
  min-height: 50px !important; border-radius: 999px !important; background: var(--desii-accent) !important; border: 1px solid var(--desii-accent) !important;
  color: #fff !important; font-size: 15px !important; font-weight: 600 !important; box-shadow: 0 10px 24px rgba(48,89,89,.22) !important;
}

/* ==========================================================================
   Betaal- & verzendbadges (footer + checkout)
   ========================================================================== */
.desii-badges{ display: flex; gap: 30px; flex-wrap: wrap; align-items: center; }
.desii-badges--footer{ margin: 18px 0; }
.desii-badges--checkout{ margin: 16px 0 0; padding-top: 16px; border-top: 1px solid var(--desii-hairline); }
.desii-badges__group{ display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.desii-badges__label{ font-size: 12px; font-weight: 600; color: var(--desii-muted, #899297); }
.desii-badges__row{ display: flex; gap: 8px; align-items: center; }
.desii-badge{ display: inline-flex; }
.desii-badge svg{ width: 44px; height: 29px; display: block; }
@media (max-width: 40rem){ .desii-badges{ gap: 18px; } }

/* ==========================================================================
   Consistente kop-typografie op ALLE pagina's (zelfde font + dikte)
   Shop, winkelmand, afrekenen, account, PDP, portalen en Woo-standaardtitels.
   ========================================================================== */
#desii-site .desii-pg-title,
#desii-site .desii-pg-sechead__h,
#desii-site .desii-cart2__h1,
#desii-site .desii-checkout__h1,
#desii-site .desii-b2b__hi,
#desii-site .desii-bshop__h1,
#desii-site .desii-pdp__title,
#desii-site .desii-pdp__detailsH,
#desii-site .desii-cart2__emptyH,
#desii-site .woocommerce-products-header__title,
#desii-site .woocommerce-account #customer_login h2,
#desii-site h1.product_title,
#desii-site .entry-title,
#desii-site h1.page-title{
  font-family: ui-sans-serif, system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  color: var(--desii-ink, #2c333e) !important;
}

/* ==========================================================================
   WooCommerce-meldingen (error / message / info) — zacht & afgerond, site-breed
   ========================================================================== */
#desii-site .woocommerce-error,
#desii-site .woocommerce-message,
#desii-site .woocommerce-info,
.woocommerce-error,
.woocommerce-message,
.woocommerce-info{
  list-style: none !important;
  margin: 0 0 18px !important;
  padding: 14px 16px 14px 44px !important;
  border: 1px solid var(--desii-hairline, rgba(44,51,62,.12)) !important;
  border-left-width: 3px !important;
  border-radius: 14px !important;
  background: var(--desii-surface, #fff) !important;
  box-shadow: 0 8px 22px rgba(44,51,62,.06) !important;
  color: var(--desii-ink, #2c333e) !important;
  font-size: 14.5px !important;
  line-height: 1.5 !important;
  position: relative !important;
}
#desii-site .woocommerce-error li,
.woocommerce-error li,
#desii-site .woocommerce-message li,
.woocommerce-message li{ list-style: none !important; margin: 0 !important; padding: 0 !important; }
#desii-site .woocommerce-error li + li,
.woocommerce-error li + li{ margin-top: 6px !important; }

/* Accentkleur per type */
#desii-site .woocommerce-message, .woocommerce-message{ border-left-color: #1f8a5b !important; }
#desii-site .woocommerce-info, .woocommerce-info{ border-left-color: var(--desii-accent, #305959) !important; }
#desii-site .woocommerce-error, .woocommerce-error{ border-left-color: #c0392b !important; }

/* Nette ronde icoon-badge i.p.v. de standaard marker */
#desii-site .woocommerce-error::before,
#desii-site .woocommerce-message::before,
#desii-site .woocommerce-info::before,
.woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before{
  position: absolute !important; left: 14px !important; top: 15px !important;
  width: 20px !important; height: 20px !important; margin: 0 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  border-radius: 999px !important; font-family: sans-serif !important; font-size: 12px !important; font-weight: 800 !important;
  color: #fff !important; background: var(--desii-accent, #305959) !important; content: "i" !important; line-height: 1 !important;
}
#desii-site .woocommerce-message::before, .woocommerce-message::before{ background: #1f8a5b !important; content: "✓" !important; }
#desii-site .woocommerce-error::before, .woocommerce-error::before{ background: #c0392b !important; content: "!" !important; }

/* Actieknop rechts in de melding (bv. "Bekijk winkelwagen") */
#desii-site .woocommerce-message .button,
#desii-site .woocommerce-info .button,
#desii-site .woocommerce-error .button,
.woocommerce-message .button,
.woocommerce-info .button{
  border-radius: 999px !important; box-shadow: none !important; min-height: 36px !important;
  padding: 0 14px !important; font-size: 13px !important; font-weight: 600 !important;
}
@media (max-width: 52rem){
  #desii-site .desii-bshop__head{ display: none; }
  #desii-site .desii-bshop__row{ grid-template-columns: 1fr auto; grid-template-areas: "prod price" "sku add"; gap: 8px 12px; }
  #desii-site .desii-bshop__prod{ grid-area: prod; }
  #desii-site .desii-bshop__price{ grid-area: price; text-align: right; }
  #desii-site .desii-bshop__sku{ grid-area: sku; }
  #desii-site .desii-bshop__add{ grid-area: add; text-align: right; }
}


/* ==========================================================================
   Winkelmand v1.4.1 — opschoon: verzendrij, stukprijs-clutter, mobiel, knop
   ========================================================================== */

/* Stukprijs onder de naam is redundant met het regeltotaal (zeker bij aantal 1)
   en las als 'dubbele prijs'. We tonen enkel het regeltotaal. */
.woocommerce-cart #desii-site .desii-cart2__unit{ display: none; }

/* Overzicht-kaart: verzendrij netjes, geen bullets, waarde rechts */
.woocommerce-cart #desii-site .desii-cart2__summary tr.woocommerce-shipping-totals th,
.woocommerce-cart #desii-site .desii-cart2__summary tr.shipping th{
  vertical-align: top !important; white-space: nowrap !important;
}
.woocommerce-cart #desii-site .desii-cart2__summary tr.woocommerce-shipping-totals td,
.woocommerce-cart #desii-site .desii-cart2__summary tr.shipping td{
  text-align: right !important;
}
.woocommerce-cart #desii-site .desii-cart2__summary ul#shipping_method,
.woocommerce-cart #desii-site .desii-cart2__summary .woocommerce-shipping-methods,
.woocommerce-cart #desii-site .desii-cart2__summary tr.shipping ul,
.woocommerce-cart #desii-site .desii-cart2__summary tr.shipping li{
  list-style: none !important; margin: 0 !important; padding: 0 !important;
}
.woocommerce-cart #desii-site .desii-cart2__summary tr.shipping li{ display: block; }
.woocommerce-cart #desii-site .desii-cart2__summary tr.shipping label{ margin: 0 !important; }
/* De 'verzendopties worden bij het afrekenen geüpdatet'-notitie rustig tonen */
.woocommerce-cart #desii-site .desii-cart2__summary .woocommerce-shipping-destination,
.woocommerce-cart #desii-site .desii-cart2__summary .shipping-calculator-button,
.woocommerce-cart #desii-site .desii-cart2__summary tr.shipping td small{
  display: block; font-size: 12.5px !important; color: var(--desii-muted) !important;
  font-weight: 400 !important; margin-top: 4px; text-align: right;
}

/* Checkout-knop: centrering zit in de hoofdregel hierboven (flex + line-height:1) */

/* ---- Mobiel ---- */
@media (max-width: 52rem){
  /* Samenvatting niet sticky op mobiel + volgorde: items eerst, dan overzicht */
  .woocommerce-cart #desii-site .desii-cart2__summary{ position: static !important; top: auto !important; }
  .woocommerce-cart #desii-site .desii-cart2__aside{ margin-top: 8px; }
}
@media (max-width: 32rem){
  /* Regel: smallere thumb, foot netjes op één rij met totaal rechts */
  .woocommerce-cart #desii-site .desii-cart2__row{ grid-template-columns: 72px 1fr; gap: 12px; padding: 16px 0; }
  .woocommerce-cart #desii-site .desii-cart2__thumb,
  .woocommerce-cart #desii-site .desii-cart2__thumb img{ width: 72px; height: 72px; }
  .woocommerce-cart #desii-site .desii-cart2__rowfoot{ gap: 12px; }
  .woocommerce-cart #desii-site .desii-cart2__sub{ font-size: 15px; }
  /* Toolbar: coupon volle breedte, bijwerken eronder */
  .woocommerce-cart #desii-site .desii-cart2__toolbar{ gap: 10px; }
  .woocommerce-cart #desii-site .desii-cart2__coupon{ max-width: none; flex: 1 1 100%; }
  .woocommerce-cart #desii-site .desii-cart2__update{ margin-left: 0; width: 100%; }
  .woocommerce-cart #desii-site .desii-cart2__head{ gap: 8px; }
}

/* Vaste (blur)header dekt de bovenkant af: geef de woo-wrappers
   (winkelmand/afrekenen/account) op ELKE breedte genoeg topruimte, zodat de
   titel nooit half onder de header schuift. */
#desii-site .desii-content--woo{ padding-top: max(116px, calc(var(--desii-bar-h) + 40px)) !important; }
/* Fallback: als winkelmand/afrekenen/account als losse Pagina met shortcode
   rendert (zónder .desii-content--woo wrapper), pakken we de WooCommerce-
   wrapper zelf, zodat de titel nooit half onder de vaste header valt. */
body.woocommerce-cart #desii-site .woocommerce,
body.woocommerce-checkout #desii-site .woocommerce,
body.woocommerce-account #desii-site .woocommerce{ padding-top: max(92px, calc(var(--desii-bar-h) + 48px)) !important; }
@media (max-width: 980px){
  .woocommerce-cart #desii-site .desii-cart2__h1,
  body.desii-checkout-page #desii-site .desii-checkout__h1{ scroll-margin-top: calc(var(--desii-bar-h) + 22px); }
}


/* ==========================================================================
   PDP add-to-cart v1.4.5 — mobiel: knop volle breedte + gecentreerd
   ========================================================================== */
@media (max-width: 48rem){
  /* Wrappers als kolom zodat aantal + knop netjes stapelen */
  .single-product .desii-pdp .desii-pdp__cart form.cart,
  .single-product .desii-pdp .desii-pdp__cart .woocommerce-variation-add-to-cart{
    display: flex !important; flex-direction: column; align-items: stretch; gap: 12px; width: 100%;
  }
  /* Aantal-veld compact, links uitgelijnd op eigen rij */
  .single-product .desii-pdp .desii-pdp__cart .quantity{ margin: 0 !important; align-self: flex-start; }
  /* Knop volle breedte, tekst gecentreerd */
  .single-product .desii-pdp .desii-pdp__cart .single_add_to_cart_button{
    flex: 0 0 auto !important; width: 100% !important; min-width: 0 !important;
  }
}

/* ==========================================================================
   WINKELMAND — volledige reset v1.9.0 (namespace .desii-cartx)
   Vervangt het oude .desii-cart2 model. Zelfstandig, minimaal afhankelijk van
   accumulatie-overrides; alleen Desii-tokens.
   ========================================================================== */
#desii-site .desii-cartx{ max-width: 78rem; margin: 0 auto; }

/* Kop */
#desii-site .desii-cartx__head{
  display: flex; align-items: flex-end; justify-content: space-between; gap: 16px;
  flex-wrap: wrap; margin: 0 0 clamp(22px, 3vw, 34px);
}
#desii-site .desii-cartx__h1{
  font-size: clamp(30px, 3.6vw, 46px) !important; font-weight: 800 !important;
  letter-spacing: -0.035em !important; color: var(--desii-ink) !important; margin: 0 0 6px !important; line-height: 1.05;
}
#desii-site .desii-cartx__sub{ font-size: 15px; color: var(--desii-muted); margin: 0; }
#desii-site .desii-cartx__back{
  font-size: 14.5px; font-weight: 600; color: var(--desii-accent) !important;
  text-decoration: none !important; white-space: nowrap; display: inline-flex; align-items: center; gap: 6px;
}
#desii-site .desii-cartx__back:hover{ text-decoration: underline !important; }

/* Grid: producten links, samenvatting rechts */
#desii-site .desii-cartx__grid{
  display: grid; grid-template-columns: minmax(0,1fr) 21rem;
  gap: clamp(26px, 3.5vw, 56px); align-items: start;
}

/* Productlijst in een kaart voor structuur (zoals de samenvatting).
   align-self:start + display:block: de kaart mag NOOIT meerekken met de hogere
   samenvattingskolom (anders ontstaat er een grote lege ruimte binnen de kaart). */
#desii-site .desii-cartx__items{
  min-width: 0; display: block !important; align-self: start !important;
  background: var(--desii-surface);
  border: 1px solid var(--desii-hairline); border-radius: 18px;
  padding: 4px clamp(16px, 2vw, 26px); box-shadow: 0 12px 30px rgba(44,51,62,.05);
}
#desii-site .desii-cartx__row{
  display: grid; grid-template-columns: 76px minmax(0,1fr) auto; gap: 18px;
  padding: 22px 0; border-bottom: 1px solid var(--desii-hairline); align-items: start;
}
#desii-site .desii-cartx__row:last-of-type{ border-bottom: 0; }

#desii-site .desii-cartx__thumb{ width: 76px; }
#desii-site .desii-cartx__thumb a{ display: block; }
#desii-site .desii-cartx__thumb img{
  width: 76px; height: 76px; object-fit: cover; display: block;
  border-radius: 14px; border: 1px solid var(--desii-hairline);
}

#desii-site .desii-cartx__info{ min-width: 0; display: flex; flex-direction: column; gap: 8px; }
#desii-site .desii-cartx__name{ font-size: 16px; font-weight: 700; color: var(--desii-ink); line-height: 1.3; }
#desii-site .desii-cartx__name a{ color: var(--desii-ink) !important; text-decoration: none !important; }
#desii-site .desii-cartx__name a:hover{ color: var(--desii-accent) !important; }
/* Woo variant-/metaregels onder de naam */
#desii-site .desii-cartx__name .variation,
#desii-site .desii-cartx__name dl.variation{ margin: 4px 0 0; font-size: 13px; color: var(--desii-muted); display: flex; flex-wrap: wrap; gap: 2px 8px; }
#desii-site .desii-cartx__name .variation dt{ font-weight: 600; margin: 0; }
#desii-site .desii-cartx__name .variation dd{ margin: 0; }
#desii-site .desii-cartx__name p{ margin: 4px 0 0; }
/* Stukprijs is redundant met het regeltotaal rechts — verbergen */
#desii-site .desii-cartx__unit{ display: none; }

#desii-site .desii-cartx__controls{ display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 2px; }

/* Aantal — nette pill rond de Woo-quantity input */
#desii-site .desii-cartx__qty .quantity{ margin: 0; display: inline-flex; }
#desii-site .desii-cartx__qty input.qty,
#desii-site .desii-cartx__qty input[type="number"]{
  width: 68px; height: 40px; text-align: center;
  border: 1px solid var(--desii-hairline-strong); border-radius: 999px;
  background: #fff; color: var(--desii-ink); font-size: 15px; font-weight: 600;
  padding: 0 8px; -moz-appearance: textfield;
}
#desii-site .desii-cartx__qty input.qty:focus{ outline: none; border-color: var(--desii-accent); box-shadow: 0 0 0 3px rgba(48,89,89,.14); }

#desii-site .desii-cartx__remove{
  font-size: 14px; font-weight: 600; color: var(--desii-muted) !important;
  text-decoration: none !important; line-height: 1;
}
#desii-site .desii-cartx__remove:hover{ color: #c0392b !important; text-decoration: underline !important; }

#desii-site .desii-cartx__lineTotal{ font-size: 16px; font-weight: 800; color: var(--desii-ink); text-align: right; white-space: nowrap; padding-top: 1px; }

/* Toolbar: coupon + bijwerken */
#desii-site .desii-cartx__toolbar{
  display: flex; align-items: center; justify-content: space-between; gap: 14px 20px;
  flex-wrap: wrap; padding: 20px 0; border-top: 1px solid var(--desii-hairline);
}
#desii-site .desii-cartx__coupon{ display: flex; align-items: center; gap: 8px; }
#desii-site .desii-cartx__couponInput{
  height: 44px; min-width: 200px; border: 1px solid var(--desii-hairline-strong);
  border-radius: 999px; padding: 0 16px; font-size: 14.5px; color: var(--desii-ink); background: #fff;
}
#desii-site .desii-cartx__couponInput:focus{ outline: none; border-color: var(--desii-accent); box-shadow: 0 0 0 3px rgba(48,89,89,.14); }
#desii-site .desii-cartx__couponBtn{
  height: 44px; padding: 0 20px; border-radius: 999px;
  background: #fff !important; color: var(--desii-accent) !important;
  border: 1px solid var(--desii-accent) !important; font-weight: 600 !important; font-size: 14px !important;
  line-height: 1 !important; box-shadow: none !important; cursor: pointer;
}
#desii-site .desii-cartx__couponBtn:hover{ background: var(--desii-accent) !important; color: #fff !important; }
#desii-site .desii-cartx__update{
  height: 44px; padding: 0 8px; border-radius: 0; background: transparent !important;
  border: 0 !important; box-shadow: none !important;
  color: var(--desii-muted) !important; font-weight: 600 !important; font-size: 14px !important;
  text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
}
#desii-site .desii-cartx__update:hover{ color: var(--desii-ink) !important; }

/* Samenvatting */
#desii-site .desii-cartx__aside{ position: sticky; top: calc(var(--desii-bar-h) + 20px); display: flex; flex-direction: column; gap: 16px; }
#desii-site .desii-cartx__card{
  background: var(--desii-surface); border: 1px solid var(--desii-hairline);
  border-radius: 18px; padding: clamp(18px, 2vw, 24px); box-shadow: 0 12px 30px rgba(44,51,62,.06);
}
#desii-site .desii-cartx__cardH{
  font-size: 13px !important; font-weight: 700 !important; letter-spacing: .1em !important;
  text-transform: uppercase; color: var(--desii-muted) !important; margin: 0 0 14px !important;
}
/* Woo verbergt z'n eigen kop; wij tonen "Overzicht" */
#desii-site .desii-cartx__summary .cart_totals > h2{ display: none !important; }
#desii-site .desii-cartx__summary table,
#desii-site .desii-cartx__summary .shop_table{ width: 100%; border: 0 !important; margin: 0 !important; background: transparent !important; }
#desii-site .desii-cartx__summary tr{
  display: flex; align-items: baseline; justify-content: space-between; gap: 14px;
  padding: 11px 0; border-bottom: 1px solid var(--desii-hairline) !important;
}
#desii-site .desii-cartx__summary th,
#desii-site .desii-cartx__summary td{
  border: 0 !important; padding: 0 !important; background: transparent !important; text-align: right !important;
}
#desii-site .desii-cartx__summary th{ font-weight: 500 !important; color: var(--desii-muted) !important; font-size: 14.5px !important; text-align: left !important; }
#desii-site .desii-cartx__summary td{ font-weight: 600 !important; color: var(--desii-ink) !important; font-size: 14.5px !important; }
#desii-site .desii-cartx__summary td .amount{ font-weight: 600 !important; }
#desii-site .desii-cartx__summary .order-total{ border-bottom: 0 !important; padding-top: 15px; margin-top: 4px; border-top: 1px solid var(--desii-hairline-strong) !important; }
#desii-site .desii-cartx__summary .order-total th{ font-size: 16px !important; font-weight: 800 !important; color: var(--desii-ink) !important; }
#desii-site .desii-cartx__summary .order-total td,
#desii-site .desii-cartx__summary .order-total td .amount{ font-size: 19px !important; font-weight: 800 !important; color: var(--desii-ink) !important; }
#desii-site .desii-cartx__summary .woocommerce-shipping-destination,
#desii-site .desii-cartx__summary .shipping-calculator-button{ font-size: 13px; color: var(--desii-muted); }

/* Afreken-knop */
#desii-site .desii-cartx__summary .wc-proceed-to-checkout{ padding: 18px 0 0; margin: 0; }
#desii-site .desii-cartx__summary .wc-proceed-to-checkout .checkout-button,
body.woocommerce-cart #desii-site .wc-proceed-to-checkout a.checkout-button{
  display: flex !important; align-items: center !important; justify-content: center !important;
  box-sizing: border-box !important; text-align: center !important;
  width: 100% !important; height: 52px !important; min-height: 52px !important; padding: 0 18px !important;
  line-height: 1.1 !important;
  background: var(--desii-accent) !important; border: 1px solid var(--desii-accent) !important; color: #fff !important;
  border-radius: 999px !important; font-weight: 700 !important; font-size: 15.5px !important; line-height: 1 !important;
  text-decoration: none !important; box-shadow: 0 12px 26px rgba(48,89,89,.22) !important; white-space: nowrap;
  transition: transform .15s ease, box-shadow .15s ease;
}
#desii-site .desii-cartx__summary .wc-proceed-to-checkout .checkout-button::before,
#desii-site .desii-cartx__summary .wc-proceed-to-checkout .checkout-button::after{ content: none !important; display: none !important; }
#desii-site .desii-cartx__summary .wc-proceed-to-checkout .checkout-button:hover{ transform: translateY(-1px); box-shadow: 0 16px 32px rgba(48,89,89,.28) !important; }

/* Reassurance + betaalmethoden */
#desii-site .desii-cartx__assur{ list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
#desii-site .desii-cartx__assur li{ display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: var(--desii-ink); margin: 0; }
#desii-site .desii-cartx__assurIco{
  flex: 0 0 auto; width: 20px; height: 20px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center;
  background: rgba(48,89,89,.1); color: var(--desii-accent); font-size: 11px; font-weight: 800; line-height: 1;
}
#desii-site .desii-cartx__pay{ margin: 2px 0 0; font-size: 12.5px; color: var(--desii-muted); letter-spacing: .01em; }

/* Cross-sell onderaan */
#desii-site .desii-cartx__crosssell{ margin-top: clamp(40px, 6vw, 72px); }
#desii-site .desii-cartx__crosssell:empty{ display: none; }

/* Sticky mobiele afreken-balk (alleen mobiel getoond) */
#desii-site .desii-cartx__stickyGo{ display: none; }

/* Lege winkelmand netjes */
.woocommerce-cart.woocommerce-cart--empty #desii-site .desii-cartx__grid{ display: block; }

/* ---- Tablet ---- */
@media (max-width: 60rem){
  #desii-site .desii-cartx__grid{ grid-template-columns: 1fr; }
  #desii-site .desii-cartx__aside{ position: static; }
}

/* ---- Mobiel ---- */
@media (max-width: 40rem){
  #desii-site .desii-cartx__row{ grid-template-columns: 64px minmax(0,1fr) auto; gap: 14px; padding: 18px 0; }
  #desii-site .desii-cartx__thumb{ width: 64px; }
  #desii-site .desii-cartx__thumb img{ width: 64px; height: 64px; }
  #desii-site .desii-cartx__toolbar{ flex-direction: column; align-items: stretch; }
  #desii-site .desii-cartx__coupon{ width: 100%; }
  #desii-site .desii-cartx__couponInput{ flex: 1 1 auto; min-width: 0; }
  #desii-site .desii-cartx__update{ align-self: flex-start; padding: 4px 0; }
  /* (sticky mobiele knop verwijderd — er is nu één enkele knop in de kaart) */
}
