/*!
 * Desii — desii-global.css  (theme v2.9.0)
 * Enige stylesheet van het thema; cart & checkout zijn body-scoped hierin verwerkt.
 * Structuur (cascade-volgorde = onaangeroerd t.o.v. origineel):
 *   1. Basis · header · navigatie · footer   — NIET WIJZIGEN
 *   2. Homepage
 *   3. Shop / archief & productpagina (PDP)
 *   4. Winkelwagen
 *   5. Checkout · account · responsive verfijning
 */
/* ==========================================================================
   1.  BASIS · HEADER · NAVIGATIE · FOOTER   —  NIET WIJZIGEN (goedgekeurd)
   ========================================================================== */
/* Desii: hide theme header/footer to prevent double UI */
header.site-header, #masthead, .site-header,
footer.site-footer, #colophon, .site-footer,
.wp-site-blocks > header, .wp-site-blocks > footer{
  display:none !important;
}
body{ padding-top:0 !important; }

/* Sticky footer: site vult altijd minstens de volledige viewporthoogte,
   zodat de footer onderaan blijft plakken, ook bij weinig of geen inhoud. */
html, body{ min-height:100%; }
#desii-site{ display:flex; flex-direction:column; min-height:100vh; }
#desii-site .desii-main{ flex:1 0 auto; }
#desii-site .desii-footer{ margin-top:auto; flex-shrink:0; }

/* Desii Header */
#desii-site{
  --desii-bg:#ffffff;
  --desii-fg:#111111;
  --desii-muted:rgba(0,0,0,.62);
  --desii-hair:rgba(0,0,0,.10);
  --desii-hair-2:rgba(0,0,0,.16);

  --desii-header-bg-top:rgba(255,255,255,1);
  --desii-header-bg-scrolled:rgba(255,255,255,.7);

  --desii-max:1120px;
  --desii-pad-x:22px;
  --desii-bar-h:44px;
  --desii-col-gap:16px;
  --desii-nav-gap:18px;
  --desii-nav-hit:36px;
  --desii-icon-size:38px;
  --desii-drawer-w:min(86vw, 360px); /* @kind spacing */

  color:var(--desii-fg);
  background:var(--desii-bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

#desii-site, #desii-site *{ box-sizing:border-box; }
#desii-site a{ color:inherit; text-decoration:none; }
#desii-site button{ font:inherit; }

#desii-site .desii-sr-only{
  position:absolute !important;
  width:1px; height:1px;
  margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap; border:0;
}

/* skip link */
#desii-site .desii-skip{
  position:absolute;
  left:12px;
  top:0;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid var(--desii-hair-2);
  background:rgba(255,255,255,.95);
  transform:translateY(-200%);
  transition:transform .2s ease;
  z-index:9999;
}
#desii-site .desii-skip:focus,
#desii-site .desii-skip:focus-visible{ transform:translateY(12px); }

/* header fixed */
#desii-site .desii-header{
  position:fixed;
  top:0; left:0; right:0;
  z-index:2000;
}
#desii-site .desii-header__bar{
  backdrop-filter:saturate(180%) blur(18px);
  -webkit-backdrop-filter:saturate(180%) blur(18px);
  background:var(--desii-header-bg-top);
  border-bottom:1px solid var(--desii-hair);
  transition:background-color .22s ease, border-color .22s ease;
}
html.desii-header-scrolled #desii-site .desii-header__bar{
  background:var(--desii-header-bg-scrolled);
}
@media (prefers-reduced-motion: reduce){
  #desii-site .desii-header__bar{ transition:none; }
}

#desii-site .desii-header__inner{
  max-width: var(--desii-max);
  margin:0 auto;
  padding:0 var(--desii-pad-x);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--desii-col-gap);
  min-height:var(--desii-bar-h);
}

/* zones */
#desii-site .desii-header__left{
  display:flex;
  align-items:center;
  min-width: 96px;
}
#desii-site .desii-nav{
  flex:1 1 auto;
  display:flex;
  justify-content:center;
}
#desii-site .desii-header-icons{
  display:flex;
  align-items:center;
  gap:6px;
}

#desii-site .desii-brand{
  display:flex;
  align-items:center;
  gap:10px;
  height:var(--desii-bar-h);
}
#desii-site .desii-logo-img{
  display:block;
  height:clamp(30px, calc(var(--desii-bar-h) - 22px), 40px);
  width:auto;
  object-fit:contain;
}

/* nav */
#desii-site .desii-nav__list{
  list-style:none;
  display:flex;
  gap:var(--desii-nav-gap);
  margin:0;
  padding:0;
  align-items:center;
}
#desii-site .desii-nav__list > li{
  position:relative;
  display:flex;
  align-items:center;
}
#desii-site .desii-nav__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:var(--desii-nav-hit);
  padding:0 8px;
  font-size:12.5px;
  letter-spacing:-0.01em;
  color:rgba(0,0,0,.78);
  border-radius:999px;
  transition:background .15s ease, color .15s ease;
}
#desii-site .desii-nav__link:hover{
  background:rgba(0,0,0,.06);
  color:rgba(0,0,0,.92);
}

/* dropdown */
#desii-site .desii-nav__list .sub-menu{
  list-style:none;
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%);
  margin-top:8px;

  min-width: 220px;
  padding:8px;
  margin-left:0;
  background:rgba(255,255,255,.98);
  border:1px solid var(--desii-hair);
  border-radius:14px;
  box-shadow:0 18px 50px rgba(0,0,0,.14);

  display:none;
  z-index:3000;
}
#desii-site .desii-nav__list .sub-menu::before{
  content:"";
  position:absolute;
  left:0; right:0;
  top:-10px;
  height:10px;
}
#desii-site .desii-nav__list .sub-menu li{ display:block; }
#desii-site .desii-nav__list .sub-menu a{
  display:flex;
  align-items:center;
  height:40px;
  padding:0 10px;
  border-radius:12px;
  color:rgba(0,0,0,.86);
  background:transparent;
  transition:background .15s ease;
}
#desii-site .desii-nav__list .sub-menu a:hover,
#desii-site .desii-nav__list .sub-menu a:focus-visible{
  background:rgba(0,0,0,.06);
  outline:none;
}
#desii-site .desii-nav__list > li:hover > .sub-menu,
#desii-site .desii-nav__list > li:focus-within > .sub-menu{ display:block; }

/* icons */
#desii-site .desii-header-icon{
  width:var(--desii-icon-size);
  height:var(--desii-icon-size);
  display:grid;
  place-items:center;
  border-radius:999px;
  background:transparent;
  transition:background .15s ease, transform .12s ease;
}
#desii-site .desii-header-icon:hover{
  background:rgba(0,0,0,.06);
  transform:translateY(-1px);
}
#desii-site .desii-header-icon:focus-visible{
  outline:none;
  background:rgba(0,0,0,.06);
}
#desii-site .desii-ico{
  width:18px;
  height:18px;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

/* burger */
#desii-site .desii-burger{
  display:none;
  width:var(--desii-icon-size);
  height:var(--desii-icon-size);
  border-radius:999px;
  background:transparent;
  place-items:center;
  cursor:pointer;
}
#desii-site .desii-burger:hover{ background:rgba(0,0,0,.06); }
#desii-site .desii-burger__lines{
  position:relative;
  width:18px;
  height:2px;
  background:currentColor;
}
#desii-site .desii-burger__lines::before,
#desii-site .desii-burger__lines::after{
  content:"";
  position:absolute;
  left:0;
  width:18px;
  height:2px;
  background:currentColor;
}
#desii-site .desii-burger__lines::before{ top:-6px; }
#desii-site .desii-burger__lines::after{ top:6px; }

/* backdrop */
#desii-site .desii-nav-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.32);
  z-index:1800;
}

/* mobile */
@media (max-width: 980px){
  #desii-site{ --desii-pad-x:16px; }

  #desii-site .desii-header__left{ order:1; }

  #desii-site .desii-header-icons{
    order:3;
    margin-left:auto;
  }

  #desii-site .desii-burger{
    order:4;
    display:grid;
    margin-left:6px;
    color:#000;
  }

  #desii-site .desii-nav-backdrop{
    left:0; top:0; bottom:0;
    right:var(--desii-drawer-w);
  }

  #desii-site .desii-nav{
    position:fixed;
    top:0; right:0;
    height:100dvh;
    width:var(--desii-drawer-w);
    background:rgba(255,255,255,.98);
    border-left:1px solid var(--desii-hair);
    transform:translateX(104%);
    transition:transform .22s ease;
    z-index:1900;
    padding:calc(var(--desii-bar-h) + 18px) 16px;
    display:block;
    justify-content:flex-start;
  }

  #desii-site .desii-nav__list{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }

  #desii-site .desii-nav__list > li{ display:block; }

  #desii-site .desii-nav__list a{ display:block; }

  #desii-site .desii-nav__list .sub-menu{
    position:static;
    transform:none;
    display:block;
    border:0;
    box-shadow:none;
    background:transparent;
    padding:6px 0 0 10px;
    margin:0;
    min-width: 0;
  }
  #desii-site .desii-nav__list .sub-menu::before{ display:none; }

  #desii-site .desii-nav__list .sub-menu a{
    height:38px;
    border-radius:12px;
    background:rgba(0,0,0,.03);
  }

  html.desii-nav-open #desii-site .desii-nav{ transform:translateX(0); }
  html.desii-nav-open body{ overflow:hidden; }
}

/* burger -> X */
html.desii-nav-open #desii-site .desii-burger__lines{ background:transparent; }
html.desii-nav-open #desii-site .desii-burger__lines::before{
  top:0;
  transform:rotate(45deg);
}
html.desii-nav-open #desii-site .desii-burger__lines::after{
  top:0;
  transform:rotate(-45deg);
}

/* ==========================================================================
   2.  HOMEPAGE
   ========================================================================== */
/* Desii - Footer (hardened for Woo/theme overrides) */

#desii-site .desii-footer,
.desii-footer{
  background: #f5f5f7 !important;
  color: rgba(0,0,0,.78) !important;
  border-top: 1px solid rgba(0,0,0,.10) !important;
}

#desii-site .desii-footer__inner,
.desii-footer .desii-footer__inner{
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 18px 22px 22px !important;
  box-sizing: border-box !important;
}

#desii-site .desii-footer__divider,
.desii-footer .desii-footer__divider{
  height: 1px !important;
  background: rgba(0,0,0,.10) !important;
  margin: 14px 0 !important;
}

#desii-site .desii-footer__notes,
.desii-footer .desii-footer__notes{
  font-size: 12px !important;
  line-height: 1.45 !important;
}

#desii-site .desii-notes,
.desii-footer .desii-notes{
  margin: 0 !important;
  padding-left: 18px !important;
}
#desii-site .desii-notes li,
.desii-footer .desii-notes li{
  margin: 6px 0 !important;
}

#desii-site .desii-footer-nav,
.desii-footer .desii-footer-nav{
  margin-top: 2px !important;
}

#desii-site .desii-footer-nav .desii-footer-cols,
.desii-footer .desii-footer-nav .desii-footer-cols{
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: start !important;
}

#desii-site .desii-footer-col,
.desii-footer .desii-footer-col{
  min-width: 0 !important;
}

#desii-site .desii-footer-h,
.desii-footer .desii-footer-h{
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  margin: 10px 0 8px !important;
  color: rgba(0,0,0,.86) !important;
}

#desii-site .desii-footer-list,
.desii-footer .desii-footer-list{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
#desii-site .desii-footer-list li,
.desii-footer .desii-footer-list li{
  margin: 0 !important;
  padding: 0 !important;
}

#desii-site .desii-footer-list a,
.desii-footer .desii-footer-list a{
  display: inline-block !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
  padding: 3px 0 !important;
  color: rgba(0,0,0,.68) !important;
  transition: color .15s ease, text-decoration-color .15s ease !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(0,0,0,.16) !important;
}

#desii-site .desii-footer-list a:hover,
.desii-footer .desii-footer-list a:hover{
  color: rgba(0,0,0,.86) !important;
  text-decoration-color: rgba(0,0,0,.36) !important;
}

#desii-site .desii-footer-more,
.desii-footer .desii-footer-more{
  font-size: 12px !important;
  line-height: 1.45 !important;
  color: rgba(0,0,0,.72) !important;
}

#desii-site .desii-footer-bottom,
.desii-footer .desii-footer-bottom{
  font-size: 12px !important;
  color: rgba(0,0,0,.68) !important;
}

#desii-site .desii-footer-bottom__row,
.desii-footer .desii-footer-bottom__row{
  display:flex !important;
  align-items:center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}

#desii-site .desii-legal,
.desii-footer .desii-legal{
  list-style:none !important;
  display:flex !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-wrap: wrap !important;
}
#desii-site .desii-legal a,
.desii-footer .desii-legal a{
  color: rgba(0,0,0,.68) !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(0,0,0,.16) !important;
}
#desii-site .desii-legal a:hover,
.desii-footer .desii-legal a:hover{
  color: rgba(0,0,0,.86) !important;
  text-decoration-color: rgba(0,0,0,.36) !important;
}

@media (max-width: 980px){
  #desii-site .desii-footer-nav .desii-footer-cols,
  .desii-footer .desii-footer-nav .desii-footer-cols{
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  #desii-site .desii-footer-col.is-open .desii-footer-list,
  .desii-footer .desii-footer-col.is-open .desii-footer-list{
    display:block !important;
  }

  #desii-site .desii-footer-list,
  .desii-footer .desii-footer-list{
    display:none !important;
  }

  #desii-site .desii-footer-h,
  .desii-footer .desii-footer-h{
    cursor: pointer !important;
    user-select: none !important;
  }
}

/* ==========================================================================
   3.  SHOP / ARCHIEF  &  PRODUCTPAGINA (PDP)
   ========================================================================== */
/* ==========================================================================
   Desii - Body basis + Home + Page scaffolding (boxed inner, full-bleed sections)
   Scope: #desii-site only (safe with Kadence/WP)
   ========================================================================== */

#desii-site{
  --desii-content-max: 1120px;

  /* Colors */
  --desii-ink: #2c333e;
  --desii-accent: #305959;
  --desii-muted: #899297;
  --desii-soft: #d0d4d6;
  --desii-surface: #fefefe;

  /* Hairlines */
  --desii-hairline: rgba(208,212,214,.55);
  --desii-hairline-strong: rgba(208,212,214,.75);

  /* Spacing */
  --desii-gap: 5px;
  --desii-pad-d: 22px;
  --desii-pad-m: 16px;

  /* Module height */
  --desii-module-minh: clamp(560px, 72vh, 780px); /* @kind spacing */

  /* Corners */
  --desii-card-radius: 0px;

  /* Scale */
  --desii-s1: 8px;
  --desii-s2: 12px;
  --desii-s3: 16px;
  --desii-s4: 22px;
  --desii-s5: 32px;
  --desii-s6: 44px;
  --desii-s7: 64px;
  --desii-s8: 84px;

  font-family: ui-sans-serif, system-ui, "Segoe UI", Roboto, Helvetica, Arial, "Segoe UI Emoji";
  color: var(--desii-ink);
  background: var(--desii-surface);
}

@media (max-width: 980px){
  #desii-site{
    --desii-s7: 52px;
    --desii-s8: 64px;
  }
}

/* Global safety */
html, body{ max-width: 100%; overflow-x: clip; }
#desii-site, #desii-site *{ box-sizing: border-box; }
#desii-site .desii-main{ min-height: 60vh; }

/* ==========================================================================
   Kadence container neutralisatie (alleen voor #desii-site pages)
   -> sections full-bleed, inner blijft boxed
   ========================================================================== */
.home #desii-site .content-area,
.home #desii-site .site-content,
.home #desii-site .site-main,
.home #desii-site .content-container,
.home #desii-site .site-container{
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ==========================================================================
   Content wrappers
   ========================================================================== */
#desii-site .desii-content{
  width: 100%;
}

#desii-site .desii-content__inner{
  width: 100%;
  max-width: var(--desii-content-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--desii-pad-d);
  padding-right: var(--desii-pad-d);
}

@media (max-width: 980px){
  #desii-site .desii-content__inner{
    padding-left: var(--desii-pad-m);
    padding-right: var(--desii-pad-m);
  }
}

/* Default sections */
#desii-site .desii-section{ padding: var(--desii-s7) 0; }
#desii-site .desii-section--tight{ padding: var(--desii-s6) 0; }

/* ==========================================================================
   Buttons
   ========================================================================== */
#desii-site .desii-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 11px 16px;
  border-radius: var(--desii-card-radius);

  border: 1px solid var(--desii-hairline);
  background: transparent;
  color: var(--desii-ink);

  text-decoration:none;
  transition: transform .12s ease, background .15s ease, border-color .15s ease, color .15s ease;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1;
}

#desii-site .desii-btn:hover{
  background: rgba(208,212,214,.22);
  transform: translateY(-1px);
  border-color: var(--desii-hairline-strong);
}

#desii-site .desii-btn:focus-visible{
  outline: none;
  border-color: rgba(48,89,89,.72);
  box-shadow: 0 0 0 3px rgba(48,89,89,.18);
}

#desii-site .desii-btn--primary{
  background: var(--desii-accent);
  border-color: var(--desii-accent);
  color: var(--desii-surface);
}

#desii-site .desii-btn--primary:hover{
  background: var(--desii-accent);
  border-color: rgba(48,89,89,.92);
}

#desii-site .desii-btn--ghost{
  background: transparent;
  border-color: var(--desii-hairline-strong);
  color: var(--desii-ink);
}

/* Dark modules: ghost always light */
#desii-site .desii-home-hero .desii-btn--ghost,
#desii-site .desii-home-chapter .desii-btn--ghost,
#desii-site .desii-home-photocta .desii-btn--ghost{
  color: var(--desii-surface);
  border-color: rgba(254,254,254,.40);
  background: rgba(137,146,151,.18);
}

#desii-site .desii-home-hero .desii-btn--ghost:hover,
#desii-site .desii-home-chapter .desii-btn--ghost:hover,
#desii-site .desii-home-photocta .desii-btn--ghost:hover{
  background: rgba(137,146,151,.24);
  border-color: rgba(254,254,254,.55);
}

/* ==========================================================================
   Reveal
   ========================================================================== */
#desii-site .desii-reveal{
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .7s ease, transform .7s ease;
  will-change: opacity, transform;
}

#desii-site .desii-reveal.desii-inview{
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce){
  #desii-site .desii-reveal{
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ==========================================================================
   HOME - module stack
   ========================================================================== */
#desii-site .desii-content--home{
  padding-top: var(--desii-gap);
  padding-bottom: var(--desii-gap);
}

#desii-site .desii-home-chapters{ margin: 0; padding: 0; }

#desii-site .desii-home-hero,
#desii-site .desii-home-chapter,
#desii-site .desii-home-feature,
#desii-site .desii-home-photocta{
  margin: 0;
}

/* fixed gaps between blocks */
#desii-site .desii-home-hero + .desii-home-chapter{ margin-top: var(--desii-gap); }
#desii-site .desii-home-chapter + .desii-home-chapter{ margin-top: var(--desii-gap); }
#desii-site .desii-home-chapters + .desii-home-feature{ margin-top: var(--desii-gap); }
#desii-site .desii-home-feature + .desii-home-photocta{ margin-top: var(--desii-gap); }

/* ==========================================================================
   HERO (section full-bleed, inner boxed)
   ========================================================================== */
#desii-site .desii-home-hero{
  width: 100%;
}

#desii-site .desii-home-hero__inner{
  border-radius: var(--desii-card-radius);
  border: 1px solid var(--desii-hairline);
  overflow: hidden;

  min-height: var(--desii-module-minh);

  display:flex;
  align-items:center;
  justify-content:center;

  position: relative;
  text-align: center;
  color: var(--desii-surface);
  background: var(--desii-ink);
  padding: 0;
}

#desii-site .desii-home-hero__bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

/* Eigen hero-slideshow (vervangt Smart Slider) */
#desii-site .desii-hero-slideshow__img{
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1s ease;
}
#desii-site .desii-hero-slideshow__img.is-active{ opacity: 1; }
#desii-site .desii-hero-slideshow:not(.is-multi) .desii-hero-slideshow__img{ opacity: 1; }
@media (prefers-reduced-motion: reduce){
  #desii-site .desii-hero-slideshow__img{ transition: none; }
}

#desii-site .desii-home-hero__bg .n2-ss-slider,
#desii-site .desii-home-hero__bg .n2-ss-slider *{
  max-width: none;
}

#desii-site .desii-home-hero__bg .n2-ss-slider{
  width: 100% !important;
  height: 100% !important;
}

#desii-site .desii-home-hero__inner::before{
  content:"";
  position:absolute;
  inset:0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(44,51,62,.55), rgba(44,51,62,.36));
  pointer-events:none;
}

#desii-site .desii-home-hero__copy{
  position: relative;
  z-index: 2;
  max-width: 760px;
  margin: 0 auto;
  padding: var(--desii-s8) var(--desii-pad-d);
}

@media (max-width: 980px){
  #desii-site .desii-home-hero__copy{
    padding: var(--desii-s7) var(--desii-pad-m);
  }
}

/* ==========================================================================
   Chapters (section full-bleed, inner boxed)
   ========================================================================== */
#desii-site .desii-home-chapter{
  min-height: var(--desii-module-minh);
  display:flex;
  align-items:center;

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  position: relative;
  text-align: center;
  color: var(--desii-surface);

  border-radius: var(--desii-card-radius);
  border: 1px solid var(--desii-hairline);
  overflow: hidden;

  padding: 0;
  background-color: var(--desii-ink);
}

#desii-site .desii-home-chapter::before{
  content:"";
  position:absolute;
  inset:0;
  z-index: 0;
  background: linear-gradient(180deg, rgba(44,51,62,.52), rgba(44,51,62,.38));
  pointer-events:none;
}

#desii-site .desii-home-chapter__inner{
  width: 100%;
  max-width: var(--desii-content-max);
  margin: 0 auto;
  position: relative;
  z-index: 1;
  padding: var(--desii-s8) var(--desii-pad-d);
}

@media (max-width: 980px){
  #desii-site .desii-home-chapter__inner{
    padding: var(--desii-s7) var(--desii-pad-m);
  }
}

/* ==========================================================================
   Feature (full-bleed section, boxed inner)
   ========================================================================== */
#desii-site .desii-home-feature{
  min-height: var(--desii-module-minh);
  display:flex;
  align-items:center;

  padding: 0;
  background: rgba(208,212,214,.26);

  border-top: 1px solid var(--desii-hairline);
  border-bottom: 1px solid var(--desii-hairline);
}

#desii-site .desii-home-feature .desii-content__inner{ width: 100%; }

#desii-site .desii-home-feature__grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 28px;
  align-items:center;
  padding: var(--desii-s8) 0;
}

@media (max-width: 980px){
  #desii-site .desii-home-feature__grid{
    grid-template-columns: 1fr;
    gap: 16px;
    padding: var(--desii-s7) 0;
  }
}

#desii-site .desii-home-feature__media{
  min-height: 520px;
  border-radius: var(--desii-card-radius);
  border: 1px solid var(--desii-hairline);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

@media (max-width: 980px){
  #desii-site .desii-home-feature__media{
    min-height: auto;
    aspect-ratio: 4 / 5;
  }
}

/* ==========================================================================
   Photo CTA (full-bleed section, boxed inner)
   ========================================================================== */
#desii-site .desii-home-photocta{
  position: relative;
  min-height: var(--desii-module-minh);
  overflow: hidden;

  border-top: 1px solid var(--desii-hairline);
  border-bottom: 1px solid var(--desii-hairline);

  display:flex;
  align-items:center;
  padding: 0;
}

#desii-site .desii-home-photocta__bg{
  position:absolute;
  inset:0;
  z-index:0;
  background-image: var(--desii-photocta-bg);
  background-size: cover;
  background-position: center;
  background-repeat:no-repeat;
  transform: scale(1.02);
}

#desii-site .desii-home-photocta__veil{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg, rgba(44,51,62,.50), rgba(44,51,62,.38)),
    radial-gradient(1200px 600px at 30% 40%, rgba(254,254,254,.10), rgba(254,254,254,0));
}

#desii-site .desii-home-photocta .desii-content__inner{ width: 100%; }

#desii-site .desii-home-photocta__wrap{
  position: relative;
  z-index: 2;
  max-width: 720px;

  border-radius: var(--desii-card-radius);
  border: 1px solid rgba(208,212,214,.62);
  background: rgba(44,51,62,.26);
  backdrop-filter: blur(10px);

  padding: 22px;
  color: var(--desii-surface);
}

@media (max-width: 980px){
  #desii-site .desii-home-photocta__wrap{
    padding: 16px;
  }
}

/* Logo */
#desii-site .desii-home-photocta__logo{
  display:block;
  height: 20px;
  width: auto;
  max-width: 180px;
  filter: brightness(0) invert(1);
  opacity: .95;
}

@media (max-width: 980px){
  #desii-site .desii-home-photocta__logo{
    height: 18px;
    max-width: 160px;
  }
}

/* ==========================================================================
   Typography
   ========================================================================== */
#desii-site h1, #desii-site h2, #desii-site h3, #desii-site h4,
#desii-site .desii-home-hero__h,
#desii-site .desii-home-chapter__h,
#desii-site .desii-home-feature__h,
#desii-site .desii-home-photocta__h{
  font-weight: 800;
  letter-spacing: -0.03em;
}

/* Hero */
#desii-site .desii-home-hero__h{
  margin: 0 0 10px;
  font-size: clamp(44px, 6vw, 66px);
  line-height: 1.04;
  color: var(--desii-surface);
}

#desii-site .desii-home-hero__p{
  margin: 0 0 16px;
  font-size: 18px;
  line-height: 1.5;
  color: rgba(254,254,254,.86);
}

/* Chapters */
#desii-site .desii-home-chapter__h{
  margin: 0 0 10px;
  font-size: clamp(40px, 5vw, 58px);
  line-height: 1.05;
  color: var(--desii-surface);
}

#desii-site .desii-home-chapter__p{
  margin: 0 0 16px;
  font-size: 18px;
  line-height: 1.5;
  color: rgba(254,254,254,.86);
}

/* Feature */
#desii-site .desii-home-feature__h{
  margin: 0 0 10px;
  font-size: clamp(34px, 4.2vw, 52px);
  line-height: 1.08;
  color: var(--desii-ink);
}

#desii-site .desii-home-feature__p{
  margin: 0 0 18px;
  font-size: 18px;
  line-height: 1.55;
  color: rgba(44,51,62,.80);
  max-width: 46ch;
}

/* Photo CTA */
#desii-site .desii-home-photocta__h{
  margin: 0 0 10px;
  font-size: clamp(34px, 4.2vw, 52px);
  line-height: 1.08;
  color: var(--desii-surface);
}

#desii-site .desii-home-photocta__p{
  margin: 0 0 16px;
  font-size: 18px;
  line-height: 1.55;
  color: rgba(254,254,254,.88);
}

/* ==========================================================================
   Mobile ratio
   ========================================================================== */
@media (max-width: 980px){
  #desii-site .desii-home-hero__inner,
  #desii-site .desii-home-chapter,
  #desii-site .desii-home-feature,
  #desii-site .desii-home-photocta{
    min-height: auto;
    aspect-ratio: 4 / 5;
  }

  #desii-site .desii-home-feature{
    aspect-ratio: auto;
  }

  #desii-site .desii-home-hero__inner::before{
    background: linear-gradient(180deg, rgba(44,51,62,.62), rgba(44,51,62,.42));
  }

  #desii-site .desii-home-chapter::before{
    background: linear-gradient(180deg, rgba(44,51,62,.60), rgba(44,51,62,.44));
  }

  #desii-site .desii-home-photocta__veil{
    background:
      linear-gradient(180deg, rgba(44,51,62,.60), rgba(44,51,62,.46)),
      radial-gradient(900px 520px at 30% 30%, rgba(254,254,254,.10), rgba(254,254,254,0));
  }
}

/* ==========================================================================
   Editor block
   ========================================================================== */
#desii-site .desii-home-editor{
  border-top: 1px solid var(--desii-hairline);
  color: var(--desii-ink);
}

/* ==========================================================================
   OTHER PAGES (safe scaffolding)
   ========================================================================== */
#desii-site .desii-content:not(.desii-content--home){
  padding-top: var(--desii-s7);
  padding-bottom: var(--desii-s7);
}

#desii-site .desii-content:not(.desii-content--home) h1{
  margin: 0 0 12px;
  font-size: clamp(34px, 4.2vw, 52px);
  line-height: 1.08;
  letter-spacing: -0.03em;
  font-weight: 800;
}

#desii-site .desii-content:not(.desii-content--home) h2{
  margin: 28px 0 10px;
  font-size: clamp(22px, 2.4vw, 32px);
  line-height: 1.15;
  letter-spacing: -0.02em;
  font-weight: 800;
}

#desii-site .desii-content:not(.desii-content--home) h3{
  margin: 18px 0 10px;
  font-size: 18px;
  line-height: 1.25;
  font-weight: 800;
}

#desii-site .desii-content:not(.desii-content--home) p{
  margin: 0 0 14px;
  line-height: 1.55;
  color: rgba(44,51,62,.82);
}

#desii-site .desii-content:not(.desii-content--home) ul,
#desii-site .desii-content:not(.desii-content--home) ol{
  margin: 0 0 16px 18px;
  padding: 0;
}

#desii-site .desii-content:not(.desii-content--home) li{
  margin: 6px 0;
  line-height: 1.55;
  color: rgba(44,51,62,.82);
}

#desii-site .desii-content:not(.desii-content--home) hr{
  border: 0;
  border-top: 1px solid var(--desii-hairline);
  margin: 28px 0;
}

#desii-site .desii-content:not(.desii-content--home) a{
  color: var(--desii-ink);
  text-decoration: underline;
  text-decoration-color: rgba(208,212,214,.92);
  text-underline-offset: 3px;
}

/* Panels / cards (optional) */
#desii-site .desii-panel{
  border: 1px solid var(--desii-hairline);
  background: var(--desii-surface);
  padding: 16px;
}

#desii-site .desii-card{
  border: 1px solid var(--desii-hairline);
  background: var(--desii-surface);
  overflow: hidden;
  transition: transform .12s ease, border-color .15s ease, box-shadow .18s ease;
}

#desii-site .desii-card:hover{
  transform: translateY(-1px);
  border-color: var(--desii-hairline-strong);
  box-shadow: 0 18px 44px rgba(44,51,62,.18);
}

#desii-site .desii-card__media{
  background: rgba(208,212,214,.20);
  aspect-ratio: 4 / 3;
}

#desii-site .desii-card__body{
  padding: 14px;
}
/* ======================================================================
   FORCE FULL-WIDTH (100vw) breakout: Hero + Chapter 1-4 + PhotoCTA
   Works even when modules sit inside a boxed inner/container.
   ====================================================================== */

#desii-site .desii-home-hero,
#desii-site .desii-home-chapters > .desii-home-chapter:nth-child(-n+7),
#desii-site .desii-home-photocta{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* safety: ensure no side padding sneaks in from theme wrappers */
#desii-site .desii-home-hero,
#desii-site .desii-home-chapters > .desii-home-chapter:nth-child(-n+7),
#desii-site .desii-home-photocta{
  max-width: none;
}
/* 3 side images row */
#desii-site .desii-home-side-row{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--desii-gap);
}

#desii-site .desii-home-side img{
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid var(--desii-hairline);
}

#desii-site .desii-home-side h5{
  margin: 10px 0 6px;
  font-weight: 800;
  font-size: 14px;
}

#desii-site .desii-home-side p{
  margin: 0;
  font-size: 14px;
  color: rgba(44,51,62,.78);
}

/* mobile */
@media (max-width: 980px){
  #desii-site .desii-home-side-row{
    grid-template-columns: 1fr;
  }
}

/* ==========================================================
   FORCE WHITE TEXT IN DARK MODULES (hero/chapters/photocta)
   ========================================================== */

#desii-site .desii-home-hero,
#desii-site .desii-home-chapter,
#desii-site .desii-home-photocta{
  color: var(--desii-surface);
}

/* alles wat tekst kan zijn */
#desii-site .desii-home-hero :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,figcaption,label),
#desii-site .desii-home-chapter :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,figcaption,label),
#desii-site .desii-home-photocta :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,blockquote,figcaption,label){
  color: inherit;
}

/* links: altijd wit + subtiele underline */
#desii-site .desii-home-hero a,
#desii-site .desii-home-chapter a,
#desii-site .desii-home-photocta a{
  color: var(--desii-surface);
  text-decoration-color: rgba(254,254,254,.45);
}

/* Gutenberg/Kadence "has-text-color" overrulen (die zetten vaak inline vars) */
#desii-site .desii-home-hero :is(.has-text-color,[style*="color:"]),
#desii-site .desii-home-chapter :is(.has-text-color,[style*="color:"]),
#desii-site .desii-home-photocta :is(.has-text-color,[style*="color:"]){
  color: var(--desii-surface) !important;
}
.desii-home-hero__logo{
  width: clamp(140px, 18vw, 220px);
  height: auto;
  margin-bottom: 14px;
  display:block;
}
.desii-content--home .desii-home-hero__h{
  position: absolute;
  opacity: 0;
  visibility: hidden;
}
.desii-content--home p{
  color: #ffffff;
  font-weight: 700;
}

/* HERO logo */
#desii-site .desii-home-hero__logo{
  width: clamp(140px, 18vw, 220px);
  height: auto;
  margin-bottom: 14px;
  display: block;
}

/* H1 verbergen (SEO blijft) */
#desii-site .desii-content--home .desii-home-hero__h{
  position: absolute !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Subtekst (alleen in donkere modules) bold + wit */
#desii-site .desii-home-hero__p,
#desii-site .desii-home-chapter__p,
#desii-site .desii-home-photocta__p{
  color: #fff !important;
  font-weight: 500;
}

#desii-site .desii-home-hero .desii-btn,
#desii-site .desii-home-chapter .desii-btn,
#desii-site .desii-home-photocta .desii-btn{
  color: #ffffff;
}
#desii-site .desii-home-hero .desii-btn,
#desii-site .desii-home-chapter .desii-btn,
#desii-site .desii-home-photocta .desii-btn{
  color: #ffffff !important;
}
#desii-site a{
  text-decoration: none !important;
}

/* ==========================================================================
   4.  WINKELWAGEN (cart)
   ========================================================================== */
/* =========================================================
   Desii – page.css (FULL FILE) | Modular + REM-first
   ========================================================= */

:root{
  --desii-ink:#2c333e;
  --desii-accent:#305959;
  --desii-muted:#899297;
  --desii-soft:#d0d4d6;
  --desii-surface:#fefefe;
  --desii-offwhite:#f7f7f7;

  --desii-inner-desktop: 1.375rem;
  --desii-inner-mobile: 1rem;

  --desii-s1: 0.375rem;
  --desii-s2: 0.625rem;
  --desii-s3: 0.875rem;
  --desii-s4: 1.125rem;
  --desii-s5: 1.375rem;
  --desii-s6: 1.75rem;
  --desii-s7: 2.25rem;
  --desii-s8: 3.25rem;

  --desii-btn-radius: 15px;
  --desii-btn-h: 2.375rem;
  --desii-btn-px: 0.875rem;

  --desii-hairline: 1px;
  --desii-shadow-1: 0 12px 26px rgba(44,51,62,.10);
  --desii-shadow-2: 0 16px 34px rgba(44,51,62,.14);

  --desii-h1-top-gap: 2.125rem;
  --desii-h1-bottom-gap: 0.875rem;

  --desii-pdp-max: 72.5rem;
  --desii-pdp-gap: 1.375rem;
  --desii-header-offset: 5.25rem;
  --desii-pdp-card-pad: 1rem;
  --desii-pdp-border: 1px solid rgba(137,146,151,.28);
}

/* ================= INNER PADDING ================= */

.desii-content__inner{
  padding-left: var(--desii-inner-desktop);
  padding-right: var(--desii-inner-desktop);
}
@media (max-width: 48rem){
  .desii-content__inner{
    padding-left: var(--desii-inner-mobile);
    padding-right: var(--desii-inner-mobile);
  }
}

/* ================= SHOP: NO HERO ================= */

.woocommerce-page .desii-hero{
  display:none !important;
}

/* ================= SHOP SURFACE ================= */

.woocommerce-page .site,
.woocommerce-page .site-content,
.woocommerce-page .content-area{
  background: var(--desii-offwhite);
}

/* ================= BUTTON RADIUS ================= */

a,
a.button,
button,
input[type="submit"],
.woocommerce a.button{
  border-radius: var(--desii-btn-radius) !important;
}

/* ================= PRODUCT GRID ================= */

.woocommerce-page ul.products,
.woocommerce-page .wc-block-product-template{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:var(--desii-s3) !important;
  margin:0 !important;
  padding:0 !important;
}

@media (max-width: 64rem){
  .woocommerce-page ul.products,
  .woocommerce-page .wc-block-product-template{
    grid-template-columns:repeat(3,1fr) !important;
  }
}
@media (max-width: 48rem){
  .woocommerce-page ul.products,
  .woocommerce-page .wc-block-product-template{
    grid-template-columns:repeat(2,1fr) !important;
    gap:0.75rem !important;
  }
}
@media (max-width: 26.25rem){
  .woocommerce-page ul.products,
  .woocommerce-page .wc-block-product-template{
    grid-template-columns:1fr !important;
  }
}

/* CARD */

.woocommerce-page ul.products > li.product,
.woocommerce-page .wc-block-product-template > li{
  background: var(--desii-surface) !important;
  padding: var(--desii-s3) !important;
  box-shadow: var(--desii-shadow-1) !important;
  display:flex !important;
  flex-direction:column !important;
  gap:0.5rem !important;
  transition: transform .18s ease, box-shadow .18s ease !important;
}

.woocommerce-page ul.products > li.product:hover{
  transform:translateY(-2px) !important;
  box-shadow: var(--desii-shadow-2) !important;
}

/* IMAGE */

.woocommerce-page ul.products > li.product a img,
.woocommerce-page .wc-block-components-product-image img{
  display:block !important;
  margin:0.5rem auto 0.25rem auto !important;
  max-width: 9.6875rem !important;
  max-height:9.6875rem !important;
  object-fit:contain !important;
}

/* TITLE */

.woocommerce-page ul.products > li.product h2,
.woocommerce-page .wc-block-product-template .wp-block-post-title a{
  font-weight:600 !important;
  font-size:1rem !important;
  line-height:1.25 !important;
  color: var(--desii-ink) !important;
  text-decoration:none !important;
}

/* PRICE */

.woocommerce-page ul.products > li.product .price{
  margin-top:auto !important;
  font-weight:700 !important;
  font-size:0.875rem !important;
  color: var(--desii-ink) !important;
}

/* BUTTON */

.woocommerce-page ul.products > li.product a.button{
  margin-top:0.5rem !important;
  min-height:var(--desii-btn-h) !important;
  padding:0 var(--desii-btn-px) !important;
  background: var(--desii-accent) !important;
  border:1px solid var(--desii-accent) !important;
  color:#fff !important;
  font-weight:600 !important;
  font-size:0.8125rem !important;
}

/* ================= ACCOUNT ================= */

.woocommerce-account .woocommerce{
  max-width: 75rem !important;
  margin:0 auto !important;
  padding-left:var(--desii-inner-desktop) !important;
  padding-right:var(--desii-inner-desktop) !important;
}

@media (max-width: 48rem){
  .woocommerce-account .woocommerce{
    padding-left:var(--desii-inner-mobile) !important;
    padding-right:var(--desii-inner-mobile) !important;
  }
}

/* ================= CATEGORY SEARCH ================= */

.desii-cat-search-wrap{
  width:100%;
  display:flex;
  justify-content:center;
}

.desii-cat-search-inner{
  width:100%;
  max-width: 1200px;
  padding:0 22px;
}

@media (max-width: 768px){
  .desii-cat-search-inner{
    padding:0 16px;
  }
}
/* buttons op overige pagina’s */
#desii-site .desii-content:not(.desii-content--home) .desii-btn{
  color: #ffffff;
  text-decoration: none;
}

/* hover/focus ook wit zonder underline */
#desii-site .desii-content:not(.desii-content--home) .desii-btn:hover,
#desii-site .desii-content:not(.desii-content--home) .desii-btn:focus{
  color: #ffffff;
  text-decoration: none;
}
#desii-site .desii-content:not(.desii-content--home) .desii-btn{
  color: #ffffff !important;
  text-decoration: none !important;
}

/* ==========================================================================
   5.  CHECKOUT · ACCOUNT · RESPONSIVE VERFIJNING
   ========================================================================== */
/* =========================================================
   Desii – page.css (FULL FILE) | Modular + REM-first
   Rules:
   - REM: text, margins, padding, gaps, sizing
   - PX: borders, shadows, micro details
   - Palette only: #2c333e #305959 #899297 #d0d4d6 #fefefe
   - Buttons radius: 15px
   - Product surfaces always white
   - Shop pages: no hero
   ========================================================= */

:root{
  /* Palette */
  --desii-ink:#2c333e;
  --desii-accent:#305959;
  --desii-muted:#899297;
  --desii-soft:#d0d4d6;
  --desii-surface:#fefefe;
  --desii-offwhite:#f7f7f7;

  /* Inner padding agreement */
  --desii-inner-desktop: 1.375rem; /* 22px */
  --desii-inner-mobile: 1rem;      /* 16px */

  /* Spacing scale (REM) */
  --desii-s1: 0.375rem; /* 6px */
  --desii-s2: 0.625rem; /* 10px */
  --desii-s3: 0.875rem; /* 14px */
  --desii-s4: 1.125rem; /* 18px */
  --desii-s5: 1.375rem; /* 22px */
  --desii-s6: 1.75rem;  /* 28px */
  --desii-s7: 2.25rem;  /* 36px */
  --desii-s8: 3.25rem;  /* 52px */

  /* Buttons */
  --desii-btn-radius: 15px;
  --desii-btn-h: 2.375rem;         /* ~38px */
  --desii-btn-px: 0.875rem;        /* 14px */

  /* Hairlines + shadows (PX only) */
  --desii-hairline: 1px;
  --desii-shadow-1: 0 12px 26px rgba(44,51,62,.10);
  --desii-shadow-2: 0 16px 34px rgba(44,51,62,.14);

  /* H1 spacing (responsive) */
  --desii-h1-top-gap: 2.125rem;     /* 34px */
  --desii-h1-bottom-gap: 0.875rem;  /* 14px */

  /* PDP */
  --desii-pdp-max: 72.5rem;     /* 1160px */
  --desii-pdp-gap: 1.375rem;    /* 22px */
  --desii-header-offset: 5.25rem; /* fallback ~84px; JS updates */
  --desii-pdp-card-pad: 1rem;   /* 16px */
  --desii-pdp-border: 1px solid rgba(137,146,151,.28); /* @kind other */ /* PX ok */

  /* Mobile product image ratio (new) */
  --desii-prod-ratio-mobile: 4 / 5; /* @kind other */
}

@media (max-width: 64rem){ /* 1024px */
  :root{ --desii-h1-top-gap: 1.75rem; } /* 28px */
}
@media (max-width: 48rem){ /* 768px */
  :root{ --desii-h1-top-gap: 1.375rem; } /* 22px */
}
@media (max-width: 26.25rem){ /* 420px */
  :root{ --desii-h1-top-gap: 1.125rem; } /* 18px */
}

/* =========================================================
   Corner policy:
   - Keep surfaces/cards square by default
   - Buttons get 15px radius
   ========================================================= */
.woocommerce-page .wc-block-product-template li,
.single-product .woocommerce-product-gallery,
.single-product .desii-pdp-card,
.single-product .desii-accordion,
.single-product .desii-var-block,
.single-product .desii-pdp-below ul.products li.product,
.single-product .flex-control-nav img{
  border-radius: 0 !important;
}

/* Buttons: 15px */
a,
a.button,
button,
input[type="button"],
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wc-block-components-button,
.wp-block-woocommerce-product-button a{
  border-radius: var(--desii-btn-radius) !important;
}

/* =========================================================
   INNER PADDING (GLOBAL)
   ========================================================= */
.desii-content__inner{
  padding-left: var(--desii-inner-desktop);
  padding-right: var(--desii-inner-desktop);
}
@media (max-width: 48rem){
  .desii-content__inner{
    padding-left: var(--desii-inner-mobile);
    padding-right: var(--desii-inner-mobile);
  }
}

/* =========================================================
   SHOP PAGES: NO HERO
   ========================================================= */
.woocommerce-page .desii-hero,
.woocommerce .desii-hero{
  display: none !important;
}

/* =========================================================
   SHOP SURFACE
   ========================================================= */
.woocommerce-page .site,
.woocommerce-page .site-content,
.woocommerce-page .content-area{
  background: var(--desii-offwhite);
}

.woocommerce-page .site-main{
  padding-top: var(--desii-s4);
  padding-bottom: var(--desii-s6);
}

.woocommerce-page .site-main > *{
  padding-left: var(--desii-inner-desktop);
  padding-right: var(--desii-inner-desktop);
}
@media (max-width: 48rem){
  .woocommerce-page .site-main > *{
    padding-left: var(--desii-inner-mobile);
    padding-right: var(--desii-inner-mobile);
  }
}

/* =========================================================
   SHOP H1 — minimal + responsive spacing
   ========================================================= */
.woocommerce-page h1,
.woocommerce-page .wp-block-post-title,
.woocommerce-products-header__title,
.single-product .product_title{
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.15 !important;
  font-weight: 600 !important;
  color: var(--desii-ink) !important;
  letter-spacing: -0.01em !important;
}

.woocommerce-products-header__title,
.single-product .product_title,
.desii-page-collection h1{
  max-height: 6.25rem !important; /* 100px */
  overflow: hidden !important;
}

.woocommerce-products-header__title.page-title,
.single-product .product_title,
.desii-page-collection .desii-shop-h1{
  margin-top: var(--desii-h1-top-gap) !important;
  margin-bottom: var(--desii-h1-bottom-gap) !important;
}

.wp-block-post-title{
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* =========================================================
   PRODUCT SECTION SURFACE
   ========================================================= */
.desii-section{ width: 100%; }
.desii-buy-surface{ background: var(--desii-offwhite); }

/* =========================================================
   BUTTON SYSTEM (sitewide for Desii areas)
   - Accent bg + white text (required)
   - Exceptions: about-us + algemene-voorwaarden (keep normal links there)
   ========================================================= */

/* Desii hero / chapters / calls: links should look like buttons */
.desii-hero a,
.desii-chapters a,
.desii-chapter a,
.desii-calls a,
.desii-call a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--desii-btn-h);
  padding: 0 var(--desii-btn-px);

  background: var(--desii-accent);
  border: 1px solid var(--desii-accent);
  color: #fff;
  text-decoration: none;

  font-weight: 600;
  line-height: 1;
  box-shadow: var(--desii-shadow-1);
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}

.desii-hero a:hover,
.desii-chapters a:hover,
.desii-chapter a:hover,
.desii-calls a:hover,
.desii-call a:hover{
  transform: translateY(-1px);
  box-shadow: var(--desii-shadow-2);
}

/* Exceptions: do NOT force button-look on these pages */
body.page-about-us .desii-content a,
body.page-algemene-voorwaarden .desii-content a{
  display: inline;
  min-height: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  color: var(--desii-ink);
  text-decoration: underline;
  font-weight: 700;
}

/* =========================================================
   PRODUCT GRID (collection) — blocks
   ========================================================= */
.desii-buy-collection .wc-block-product-template{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: var(--desii-s3) !important; /* 14px */
  margin: 0 !important;
  padding: 0 !important;
}
@media (max-width: 64rem){
  .desii-buy-collection .wc-block-product-template{ grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
}
@media (max-width: 48rem){
  .desii-buy-collection .wc-block-product-template{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 0.75rem !important; /* 12px */
  }
}
@media (max-width: 26.25rem){
  .desii-buy-collection .wc-block-product-template{ grid-template-columns: 1fr !important; }
}

.desii-buy-collection .wc-block-product-template li{
  list-style: none !important;
  margin: 0 !important;

  background: var(--desii-surface) !important; /* ALWAYS WHITE */
  border: none !important;
  outline: none !important;

  padding: var(--desii-s3) !important; /* 14px */
  box-shadow: var(--desii-shadow-1) !important;

  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;

  transition: transform .18s ease, box-shadow .18s ease;
}
.desii-buy-collection .wc-block-product-template li:hover{
  transform: translateY(-2px);
  box-shadow: var(--desii-shadow-2) !important;
}

.desii-buy-collection .wc-block-components-product-image{
  margin: 0 !important;
  padding: 0.5rem 0 0.25rem 0 !important;
  background: transparent !important;
}

/* Desktop/tablet keep your existing “contained” look */
.desii-buy-collection .wc-block-components-product-image img{
  width: auto !important;
  height: auto !important;
  max-width: 9.6875rem !important;  /* 155px */
  max-height: 9.6875rem !important; /* 155px */
  display: block !important;
  margin: 0 auto !important;
}

/* NEW: Mobile consistent ratio frame for product thumbs (blocks) */
@media (max-width: 48rem){
  .desii-buy-collection .wc-block-components-product-image{
    width: 100% !important;
    aspect-ratio: var(--desii-prod-ratio-mobile) !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
  }
  .desii-buy-collection .wc-block-components-product-image img{
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;      /* consistent crop */
    object-position: center !important;
  }

  /* Make titles align better in rows */
  .desii-buy-collection .wp-block-post-title{
    min-height: 2.6em !important;  /* ~2 regels */
    overflow: hidden !important;
  }
}

.desii-buy-collection .wp-block-post-title{ margin: 0.375rem 0 0 0 !important; }
.desii-buy-collection .wp-block-post-title a{
  color: var(--desii-ink) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 1rem !important; /* 16px */
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
}

.desii-buy-meta{
  margin-top: auto !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 0.625rem !important;
}

.desii-buy-meta .wc-block-components-product-price{
  margin: 0 !important;
  color: var(--desii-ink) !important;
  font-weight: 700 !important;
  font-size: 0.875rem !important; /* 14px */
  line-height: 1.1 !important;
}
.desii-buy-meta .wc-block-components-product-price *{
  font-weight: 700 !important;
  color: var(--desii-ink) !important;
}

.desii-buy-meta .wp-block-woocommerce-product-button{ margin: 0 !important; }
.desii-buy-meta .wp-block-woocommerce-product-button a{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: var(--desii-btn-h) !important;
  padding: 0 var(--desii-btn-px) !important;

  background: var(--desii-accent) !important;
  border: 1px solid var(--desii-accent) !important;
  color: #fff !important;

  text-decoration: none !important;
  font-size: 0.8125rem !important; /* 13px */
  font-weight: 600 !important;
  line-height: 1 !important;
}

.wc-block-components-product-sale-badge,
.wc-block-components-sale-badge{
  display: none !important;
}

/* =========================================================
   PDP (single product) — sticky right, scroll left
   ========================================================= */

.single-product{
  --desii-pdp-title: 1.375rem; /* 22px */
  --desii-pdp-body: 0.875rem;  /* 14px */
}

.single-product div.product{
  max-width: var(--desii-pdp-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;

  display: grid !important;
  grid-template-columns: clamp(21.25rem, 54vw, 47.5rem) minmax(20rem, 1fr) !important;
  gap: var(--desii-pdp-gap) !important;
  align-items: start !important;
}

.single-product .woocommerce-product-gallery{
  width: 100% !important;
  justify-self: center !important;

  max-width: 51.25rem !important; /* 820px */
  background: var(--desii-surface) !important;
  box-shadow: var(--desii-shadow-1) !important;
  padding: var(--desii-pdp-card-pad) !important;
  border: none !important;
}

.single-product .woocommerce-product-gallery .flex-viewport{
  width: 100% !important;
  aspect-ratio: 3 / 4 !important;
  max-height: 50rem !important; /* 800px */

  display: grid !important;
  place-items: center !important;

  background: var(--desii-offwhite) !important;
  padding: var(--desii-s5) !important;

  position: relative !important;
  overflow: hidden !important;
}

.single-product .woocommerce-product-gallery__wrapper{
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
}

.single-product .woocommerce-product-gallery__wrapper .clone{ display: none !important; }
.single-product .woocommerce-product-gallery__wrapper .zoomImg{
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image a{
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
}

.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}

.single-product .flex-control-nav{
  margin-top: var(--desii-s3) !important;
  display: flex !important;
  gap: 0.625rem !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  overflow-x: auto !important;
  padding: 0.125rem 0.125rem 0.375rem 0.125rem !important;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory !important;
}
.single-product .flex-control-nav::-webkit-scrollbar{ height: 8px; }
.single-product .flex-control-nav::-webkit-scrollbar-thumb{ background: rgba(137,146,151,.35); }
.single-product .flex-control-nav li{
  width: 4rem !important;
  flex: 0 0 4rem !important;
  margin: 0 !important;
  scroll-snap-align: center !important;
}
.single-product .flex-control-nav img{
  background: var(--desii-surface) !important;
  border: var(--desii-pdp-border) !important;
  padding: 0.375rem !important;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.single-product .flex-control-nav img:hover{
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(44,51,62,.08) !important;
  border-color: rgba(48,89,89,.45) !important;
}
.single-product .flex-control-nav img.flex-active{
  border-color: var(--desii-accent) !important;
}

.single-product .summary{
  width: 100% !important;
  justify-self: center !important;
  max-width: 26.25rem !important; /* 420px */

  position: sticky !important;
  top: calc(var(--desii-header-offset) + var(--desii-s3)) !important;
  align-self: start !important;

  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  border: none !important;
}

.single-product .desii-pdp-card{
  background: var(--desii-surface) !important;
  box-shadow: var(--desii-shadow-1) !important;
  padding: var(--desii-pdp-card-pad) !important;
  margin-bottom: var(--desii-s3) !important;
}

.single-product .summary .product_title{
  font-size: var(--desii-pdp-title) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;
}
.single-product p.price,
.single-product span.price{
  margin: var(--desii-s2) 0 var(--desii-s2) 0 !important;
  color: var(--desii-ink) !important;
  font-weight: 700 !important;
}
.single-product .woocommerce-product-details__short-description{
  margin: 0 0 var(--desii-s2) 0 !important;
  color: var(--desii-ink) !important;
  opacity: .92 !important;
  font-size: var(--desii-pdp-body) !important;
  line-height: 1.55 !important;
}

.single-product .desii-var-ui select{
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.single-product .desii-var-block{
  margin: var(--desii-s2) 0 0 0 !important;
  padding: var(--desii-s2) !important;
  background: var(--desii-offwhite) !important;
  box-shadow: 0 12px 26px rgba(44,51,62,.08) !important;
}

.single-product .desii-var-title{
  display: flex !important;
  justify-content: space-between !important;
  gap: var(--desii-s2) !important;
  align-items: baseline !important;
  margin-bottom: var(--desii-s2) !important;
}
.single-product .desii-var-title strong{
  font-weight: 600 !important;
  font-size: 0.8125rem !important; /* 13px */
  color: var(--desii-ink) !important;
  letter-spacing: -0.01em !important;
}
.single-product .desii-var-title span{
  font-size: 0.75rem !important; /* 12px */
  color: var(--desii-muted) !important;
  white-space: nowrap !important;
}

.single-product .desii-var-options{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: var(--desii-s2) !important;
}
@media (max-width: 26.25rem){
  .single-product .desii-var-options{ grid-template-columns: 1fr !important; }
}
.single-product .desii-var-options.desii-var-options--swatch{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: var(--desii-s2) !important;
}

.single-product .desii-var-btn{
  border: var(--desii-pdp-border) !important;
  background: var(--desii-surface) !important;
  color: var(--desii-ink) !important;

  padding: var(--desii-s2) !important;
  min-height: 3.5rem !important; /* 56px */

  font-size: 0.8125rem !important;
  line-height: 1.15 !important;
  cursor: pointer !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.625rem !important;

  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
}
.single-product .desii-var-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(44,51,62,.10) !important;
  border-color: rgba(48,89,89,.50) !important;
}
.single-product .desii-var-btn:focus{
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(48,89,89,.22) !important;
}
.single-product .desii-var-btn[aria-pressed="true"]{
  border-color: var(--desii-accent) !important;
  background: rgba(48,89,89,.08) !important;
  font-weight: 600 !important;
}
.single-product .desii-var-btn[disabled]{
  opacity: .45 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

.single-product .desii-var-btn--swatch{
  min-height: 2.875rem !important; /* 46px */
  padding: 0.625rem 0.75rem !important;
}
.single-product .desii-swatch{
  width: 1rem !important;
  height: 1rem !important;
  border: 1px solid rgba(44,51,62,.22) !important;
  background: var(--desii-soft) !important;
  flex: 0 0 1rem !important;
}
.single-product .desii-var-btn--swatch[aria-pressed="true"] .desii-swatch{
  border-color: var(--desii-accent) !important;
  box-shadow: 0 0 0 3px rgba(48,89,89,.20) !important;
}
.single-product .desii-var-btn__label{
  display: inline-flex !important;
  flex-direction: column !important;
  gap: 0.125rem !important;
}
.single-product .desii-var-btn__label span{
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  color: var(--desii-ink) !important;
}

.single-product button.single_add_to_cart_button{
  margin-top: var(--desii-s2) !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: var(--desii-accent) !important;
  border: 1px solid var(--desii-accent) !important;
  color: #fff !important;

  font-weight: 600 !important;
  padding: var(--desii-s2) var(--desii-s3) !important;
  width: 100% !important;

  line-height: 1 !important;
  box-shadow: 0 12px 26px rgba(44,51,62,.12) !important;
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.single-product button.single_add_to_cart_button:hover{
  transform: translateY(-1px);
  box-shadow: var(--desii-shadow-2) !important;
}

.single-product .summary .compare,
.single-product .summary a.compare,
.single-product .summary .yith-wcwl-add-to-wishlist,
.single-product .summary .yith-wcwl-wishlistaddedbrowse,
.single-product .summary .yith-wcwl-wishlistexistsbrowse,
.single-product .summary .yith-woocompare-add-button,
.single-product .summary .yith-woocompare,
.single-product .summary .tinvwl_add_to_wishlist_button,
.single-product .summary .tinv-wraper,
.single-product .summary .wpc-smart-compare,
.single-product .summary .wpc-smart-wishlist{
  display: none !important;
}

.single-product .desii-accordion{
  background: var(--desii-surface) !important;
  box-shadow: var(--desii-shadow-1) !important;
}
.single-product .desii-accordion details{ border-top: 1px solid rgba(137,146,151,.30) !important; }
.single-product .desii-accordion details:first-child{ border-top: 0 !important; }
.single-product .desii-accordion summary{
  list-style: none !important;
  cursor: pointer !important;
  padding: var(--desii-s4) !important;
  font-weight: 600 !important;
  color: var(--desii-ink) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: var(--desii-s2) !important;
  letter-spacing: -0.01em !important;
}
.single-product .desii-accordion summary::-webkit-details-marker{ display: none !important; }
.single-product .desii-accordion summary .desii-acc-ico{
  width: 1.125rem !important;
  height: 1.125rem !important;
  border: 1px solid rgba(137,146,151,.55) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.75rem !important;
  color: var(--desii-ink) !important;
  line-height: 1 !important;
  flex: 0 0 1.125rem !important;
}
.single-product .desii-accordion .desii-acc-body{
  padding: 0 var(--desii-s4) var(--desii-s4) var(--desii-s4) !important;
  color: var(--desii-ink) !important;
  opacity: .92 !important;
  font-size: var(--desii-pdp-body) !important;
  line-height: 1.6 !important;
}

.single-product .desii-pdp-info{
  margin-top: var(--desii-s3) !important;
  padding-top: var(--desii-s3) !important;
  border-top: 1px solid rgba(137,146,151,.30) !important;
  color: var(--desii-ink) !important;
}
.single-product .desii-pdp-info strong{
  display: block !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  margin-bottom: 0.375rem !important;
}
.single-product .desii-pdp-info p{
  margin: 0 0 var(--desii-s2) 0 !important;
  font-size: var(--desii-pdp-body) !important;
  line-height: 1.6 !important;
  opacity: .92 !important;
}
.single-product .desii-pdp-info a{
  color: var(--desii-ink) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(44,51,62,.25) !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  box-shadow: none !important;
}
.single-product .desii-pdp-info a:hover{
  border-bottom-color: rgba(48,89,89,.55) !important;
}

.single-product .desii-pdp-below{
  width: 100% !important;
  background: var(--desii-offwhite) !important;
  margin-top: var(--desii-s5) !important;
  padding: var(--desii-s6) 0 !important;
}
.single-product .desii-pdp-below__inner{
  max-width: var(--desii-pdp-max) !important;
  margin: 0 auto !important;
  padding-left: var(--desii-inner-desktop) !important;
  padding-right: var(--desii-inner-desktop) !important;
}
@media (max-width: 48rem){
  .single-product .desii-pdp-below__inner{
    padding-left: var(--desii-inner-mobile) !important;
    padding-right: var(--desii-inner-mobile) !important;
  }
}
.single-product .desii-pdp-below h2{
  margin: 0 0 var(--desii-s3) 0 !important;
  padding: 0 !important;
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  color: var(--desii-ink) !important;
}

.single-product .desii-pdp-below ul.products{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: var(--desii-s3) !important;
  margin: 0 !important;
  padding: 0 !important;
}
@media (max-width: 64rem){
  .single-product .desii-pdp-below ul.products{ grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
}
@media (max-width: 48rem){
  .single-product .desii-pdp-below ul.products{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 0.75rem !important;
  }
}
@media (max-width: 26.25rem){
  .single-product .desii-pdp-below ul.products{ grid-template-columns: 1fr !important; }
}

.single-product .desii-pdp-below ul.products li.product{
  list-style: none !important;
  margin: 0 !important;
  width: 100% !important;

  background: var(--desii-surface) !important;
  border: none !important;
  outline: none !important;
  padding: var(--desii-s3) !important;

  box-shadow: var(--desii-shadow-1) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;

  transition: transform .18s ease, box-shadow .18s ease;
}
.single-product .desii-pdp-below ul.products li.product:hover{
  transform: translateY(-2px);
  box-shadow: var(--desii-shadow-2) !important;
}

/* Desktop/tablet keep contained thumbs */
.single-product .desii-pdp-below ul.products li.product img{
  max-width: 9.6875rem !important;
  max-height: 9.6875rem !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
}

/* NEW: Mobile ratio frame for related products */
@media (max-width: 48rem){
  .single-product .desii-pdp-below ul.products li.product a{
    display: block !important;
  }

  .single-product .desii-pdp-below ul.products li.product img{
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    aspect-ratio: var(--desii-prod-ratio-mobile) !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
  }

  .single-product .desii-pdp-below ul.products li.product h2,
  .single-product .desii-pdp-below ul.products li.product .woocommerce-loop-product__title{
    min-height: 2.6em !important;
    overflow: hidden !important;
  }
}

.single-product .desii-pdp-below ul.products li.product h2,
.single-product .desii-pdp-below ul.products li.product .woocommerce-loop-product__title{
  margin: 0.375rem 0 0 0 !important;
  padding: 0 !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
  color: var(--desii-ink) !important;
}

.single-product .desii-reco-meta{
  margin-top: auto !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 0.625rem !important;
}
.single-product .desii-reco-meta .price{
  margin: 0 !important;
  color: var(--desii-ink) !important;
  font-weight: 700 !important;
  font-size: 0.875rem !important;
  line-height: 1.1 !important;
}
.single-product .desii-reco-meta .price *{
  color: var(--desii-ink) !important;
  font-weight: 700 !important;
}
.single-product .desii-reco-meta a.button,
.single-product .desii-reco-meta a.add_to_cart_button{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: var(--desii-btn-h) !important;
  padding: 0 var(--desii-btn-px) !important;

  background: var(--desii-accent) !important;
  border: 1px solid var(--desii-accent) !important;
  color: #fff !important;

  text-decoration: none !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

@media (max-width: 61.25rem){
  .single-product div.product{
    grid-template-columns: 1fr !important;
    gap: var(--desii-s3) !important;
  }
  .single-product .summary{
    position: static !important;
    top: auto !important;
    max-width: 100% !important;
  }
  .single-product{
    --desii-pdp-title: 1.25rem;
  }
  .single-product .woocommerce-product-gallery .flex-viewport{
    max-height: 38.75rem !important;
    padding: var(--desii-s4) !important;
  }
  .single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img{
    max-width: 32.5rem !important;
  }
}

/* =========================================================
   HERO HEIGHT OVERRIDES (Store locator + Support/Contact)
   ========================================================= */
body.page-store-locator .desii-hero,
body.page-storelocator .desii-hero,
body.page-store-locator .desii-hero *,
body.page-storelocator .desii-hero *,
body.page-support-contact .desii-hero,
body.page-contact .desii-hero,
body.page-support-contact .desii-hero *,
body.page-contact .desii-hero *{
  max-height: 31.25rem !important;
}

body.page-store-locator .desii-hero,
body.page-storelocator .desii-hero,
body.page-support-contact .desii-hero,
body.page-contact .desii-hero{
  height: auto !important;
  overflow: hidden !important;
}

body.page-store-locator .desii-hero .n2-ss-slider,
body.page-storelocator .desii-hero .n2-ss-slider,
body.page-support-contact .desii-hero .n2-ss-slider,
body.page-contact .desii-hero .n2-ss-slider,
body.page-store-locator .desii-hero .n2-ss-slide-background,
body.page-storelocator .desii-hero .n2-ss-slide-background,
body.page-support-contact .desii-hero .n2-ss-slide-background,
body.page-contact .desii-hero .n2-ss-slide-background{
  max-height: 31.25rem !important;
}

/* =========================================================
   Woo notices → summary header layout (with thumbnail)
   ========================================================= */

.woocommerce-notices-wrapper,
.woocommerce .woocommerce-notices-wrapper{
  width: 100% !important;
  max-width: var(--desii-pdp-max) !important;
  margin: 0 auto var(--desii-s3) auto !important;
  padding-left: var(--desii-inner-desktop) !important;
  padding-right: var(--desii-inner-desktop) !important;
}
@media (max-width: 48rem){
  .woocommerce-notices-wrapper,
  .woocommerce .woocommerce-notices-wrapper{
    padding-left: var(--desii-inner-mobile) !important;
    padding-right: var(--desii-inner-mobile) !important;
  }
}

.woocommerce-message{
  background: var(--desii-surface) !important;
  border: none !important;
  border-bottom: var(--desii-hairline) solid rgba(137,146,151,.35) !important;
  box-shadow: none !important;
  color: var(--desii-ink) !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
}
.woocommerce-message::before{
  display: none !important;
  content: none !important;
}

.desii-summaryheader-content{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: var(--desii-s3) !important;
  padding: var(--desii-s3) var(--desii-s4) !important;
}

.desii-summaryheader-left{
  display: flex !important;
  align-items: center !important;
  gap: var(--desii-s3) !important;
  min-width: 0 !important;
}

.desii-summaryheader-image{
  width: 100px !important;
  height: 100px !important;
  object-fit: contain !important;
  display: block !important;
}

.desii-summaryheader-producttitle{
  display: block !important;
  color: var(--desii-ink) !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.25 !important;
  max-width: 42rem !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.desii-summaryheader-cta{
  margin: 0 !important;
  white-space: nowrap !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: var(--desii-btn-h) !important;
  padding: 0 var(--desii-btn-px) !important;

  background: var(--desii-accent) !important;
  border: 1px solid var(--desii-accent) !important;
  color: #fff !important;

  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;

  box-shadow: none !important;
}

@media (max-width: 32rem){
  .desii-summaryheader-content{
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .desii-summaryheader-producttitle{
    white-space: normal !important;
  }
  .desii-summaryheader-cta{
    width: 100% !important;
  }
}

.kadence-breadcrumb-container{
  display: none !important;
}

/* =========================================================
   ADD-ON: Hero H1 zichtbaar op storelocator/contact/about-us
   ========================================================= */

body.page-store-locator .desii-hero h1,
body.page-storelocator .desii-hero h1,
body.page-contact .desii-hero h1,
body.page-about-us .desii-hero h1{
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #fff !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.15 !important;
  max-height: none !important;
  overflow: visible !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  font-size: 2rem !important; /* 32px */
}

body.page-store-locator .desii-hero .n2-ss-layer h1,
body.page-storelocator .desii-hero .n2-ss-layer h1,
body.page-contact .desii-hero .n2-ss-layer h1,
body.page-about-us .desii-hero .n2-ss-layer h1{
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #fff !important;
  position: relative !important;
  z-index: 5 !important;
}

@media (max-width: 48rem){
  body.page-store-locator .desii-hero h1,
  body.page-storelocator .desii-hero h1,
  body.page-contact .desii-hero h1,
  body.page-about-us .desii-hero h1{
    font-size: 1.625rem !important; /* 26px */
  }
}

/* =========================================================
   Desii – About/Legal Mobile Fix
   ========================================================= */

.desii-page.desii-page-about,
.desii-page.desii-page-legal{
  overflow-x: hidden;
}

.desii-page.desii-page-about .desii-content__inner,
.desii-page.desii-page-legal .desii-content__inner{
  width: min(70rem, 100%);
  margin-left: auto;
  margin-right: auto;
}

.desii-page.desii-page-about .desii-hero,
.desii-page.desii-page-legal .desii-hero{
  position: relative;
}

.desii-page.desii-page-about .desii-hero__wrap,
.desii-page.desii-page-legal .desii-hero__wrap{
  width: 100%;
  position: relative;
}

.desii-page.desii-page-about .desii-home-hero__bg,
.desii-page.desii-page-legal .desii-home-hero__bg{
  position: absolute;
  inset: 0;
  z-index: 0;
}

.desii-page.desii-page-about .desii-hero .desii-content__inner,
.desii-page.desii-page-legal .desii-hero .desii-content__inner{
  position: relative;
  z-index: 2;
}

.desii-page.desii-page-about h1,
.desii-page.desii-page-legal h1,
.desii-page.desii-page-about h2,
.desii-page.desii-page-legal h2,
.desii-page.desii-page-about p,
.desii-page.desii-page-legal p,
.desii-page.desii-page-about li,
.desii-page.desii-page-legal li{
  color: var(--desii-ink);
}

.desii-page.desii-page-about .desii-content a,
.desii-page.desii-page-legal .desii-content a{
  color: var(--desii-ink);
}

@media (max-width: 48rem){

  .desii-page.desii-page-about .desii-reveal,
  .desii-page.desii-page-legal .desii-reveal{
    margin-top: var(--desii-s6) !important;
  }

  .desii-page.desii-page-about .desii-hero__wrap,
  .desii-page.desii-page-legal .desii-hero__wrap{
    min-height: 20rem !important; /* 320px */
  }

  .desii-page.desii-page-about .desii-hero__title,
  .desii-page.desii-page-legal .desii-hero__title{
    font-size: 1.75rem !important; /* 28px */
    line-height: 1.1 !important;
    letter-spacing: -0.01em !important;
    margin: 0 0 var(--desii-s2) 0 !important;
  }

  .desii-page.desii-page-about .desii-hero__lead,
  .desii-page.desii-page-legal .desii-hero__lead{
    font-size: 1rem !important; /* 16px */
    line-height: 1.55 !important;
    max-width: 34ch !important;
  }

  .desii-page.desii-page-about .desii-reveal div[style*="padding:24px"],
  .desii-page.desii-page-legal .desii-reveal div[style*="padding:24px"]{
    padding: 1rem !important; /* 16px */
  }

  .desii-page.desii-page-about .desii-reveal div[style*="max-width: 760px"],
  .desii-page.desii-page-legal .desii-reveal div[style*="max-width: 760px"]{
    max-width: 100% !important;
  }

  .desii-page.desii-page-about .desii-reveal div[style*="margin-left:auto"],
  .desii-page.desii-page-legal .desii-reveal div[style*="margin-left:auto"]{
    margin-left: 0 !important;
  }

  .desii-page.desii-page-about .desii-reveal div[style*="grid-template-columns:repeat(auto-fit"],
  .desii-page.desii-page-legal .desii-reveal div[style*="grid-template-columns:repeat(auto-fit"]{
    grid-template-columns: 1fr !important;
    gap: var(--desii-s2) !important;
  }

  .desii-page.desii-page-about .desii-reveal div[style*="display:flex"][style*="flex-wrap:wrap"],
  .desii-page.desii-page-legal .desii-reveal div[style*="display:flex"][style*="flex-wrap:wrap"]{
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .desii-page.desii-page-about .desii-btn,
  .desii-page.desii-page-legal .desii-btn{
    width: 100%;
    justify-content: center;
  }

  .desii-page.desii-page-about center,
  .desii-page.desii-page-legal center{
    display: block;
    text-align: center;
  }

  .desii-page.desii-page-about img,
  .desii-page.desii-page-legal img,
  .desii-page.desii-page-about iframe,
  .desii-page.desii-page-legal iframe,
  .desii-page.desii-page-about video,
  .desii-page.desii-page-legal video{
    max-width: 100%;
    height: auto;
  }

  .desii-page.desii-page-about p,
  .desii-page.desii-page-legal p{
    margin-top: 0;
    margin-bottom: var(--desii-s3);
    line-height: 1.65;
  }

  .desii-page.desii-page-about h2,
  .desii-page.desii-page-legal h2{
    margin-top: 0;
    margin-bottom: var(--desii-s2);
    line-height: 1.2;
    letter-spacing: -0.01em;
  }
}

@media (max-width: 26.25rem){
  .desii-page.desii-page-about .desii-hero__wrap,
  .desii-page.desii-page-legal .desii-hero__wrap{
    min-height: 18.5rem !important; /* 296px */
  }

  .desii-page.desii-page-about .desii-hero__title,
  .desii-page.desii-page-legal .desii-hero__title{
    font-size: 1.625rem !important; /* 26px */
  }
}

/* =========================================================
   ADD-ON: Mobile readability fix for storelocator/contact/about-us
   ========================================================= */
@media (max-width: 48rem){

  .cherry_row,
  .cherry-row,
  .row,
  .columns,
  .wp-block-columns{
    display: block !important;
  }

  .cherry_col,
  .cherry-col,
  .column,
  .wp-block-column{
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    min-width: 0 !important;
  }

  h1, h2, h3, h4, p, a, li{
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: manual !important;
  }
}

/* =========================================================
   STORE PAGE ONLY — Category grid (3 / 2 / 1) + cards
   - Single source of truth (duplicate removed)
   - Scoped to: #desii-site .desii-page-store
   ========================================================= */

#desii-site .desii-page-store .desii-store-grid{
  margin-top: var(--desii-s4) !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--desii-s2) !important;

  float: none !important;
  clear: both !important;
}

#desii-site .desii-page-store .desii-store-grid > *{
  min-width: 0 !important;
  max-width: 100% !important;
}

#desii-site .desii-page-store .desii-store-grid > p{
  margin: 0 !important;
}
#desii-site .desii-page-store .desii-store-grid > p > a{
  display: block !important;
}

@media (max-width: 61.25rem){ /* 980px */
  #desii-site .desii-page-store .desii-store-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 32.5rem){ /* 520px */
  #desii-site .desii-page-store .desii-store-grid{
    grid-template-columns: 1fr !important;
  }
}

#desii-site .desii-page-store .desii-card-link{
  display: block !important;
  text-decoration: none !important;
  color: inherit !important;
}

#desii-site .desii-page-store .desii-card{
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid rgba(0,0,0,.12) !important;
  background: #000 !important;

  border-radius: 0 !important;
  transition: transform .25s ease, box-shadow .25s ease !important;
  box-shadow: none !important;
}

#desii-site .desii-page-store .desii-card-link:hover .desii-card{
  transform: translateY(-0.25rem) !important; /* -4px */
  box-shadow: 0 14px 30px rgba(0,0,0,.25) !important;
}

#desii-site .desii-page-store .desii-img{
  aspect-ratio: 1 / 1 !important;
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  transition: transform .4s ease !important;
}

#desii-site .desii-page-store .desii-card-link:hover .desii-img{
  transform: scale(1.06) !important;
}

#desii-site .desii-page-store .desii-overlay{
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.65)) !important;
}

#desii-site .desii-page-store .desii-content{
  position: absolute !important;
  inset: 0 !important;
  padding: var(--desii-s3) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  color: #fff !important;
}

#desii-site .desii-page-store .desii-title{
  font-weight: 800 !important;
  font-size: 0.9375rem !important; /* 15px */
  line-height: 1.2 !important;
}
#desii-site .desii-page-store .desii-subtitle{
  opacity: .9 !important;
  margin-top: 0.25rem !important;
  font-size: 0.8125rem !important; /* 13px */
  line-height: 1.35 !important;
}
#desii-site .desii-page-store .desii-cta{
  margin-top: 0.625rem !important;
}

#desii-site .desii-page-store .desii-btn{
  display: inline-block !important;
  padding: 0.625rem 0.75rem !important;
  border-radius: var(--desii-btn-radius) !important;
  background: var(--desii-surface) !important;
  color: var(--desii-ink) !important;
  font-weight: 700 !important;
  font-size: 0.8125rem !important;
  line-height: 1 !important;
  transition: transform .2s ease, opacity .2s ease !important;
}

#desii-site .desii-page-store .desii-card-link:hover .desii-btn{
  opacity: .9 !important;
  transform: translateY(-0.0625rem) !important;
}

/* =========================================================
   MY ACCOUNT – Desii LAYOUT
   ========================================================= */

/* Reset common theme containers inside account pages */
.woocommerce-account .site-content,
.woocommerce-account .content-area,
.woocommerce-account .site-main,
.woocommerce-account .entry,
.woocommerce-account .entry-content,
.woocommerce-account .content-wrap,
.woocommerce-account .content-container,
.woocommerce-account .container,
.woocommerce-account .wrap{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Ensure the main Woo wrapper doesn't inherit extra padding from earlier rules */
.woocommerce-account.woocommerce-page .site-main > .woocommerce{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Account wrapper: full inner width + centered (single source of truth) */
.woocommerce-account .woocommerce{
  width: 100% !important;
  max-width: 75rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  padding-left: var(--desii-inner-desktop) !important;
  padding-right: var(--desii-inner-desktop) !important;
}

@media (max-width: 48rem){
  .woocommerce-account .woocommerce{
    padding-left: var(--desii-inner-mobile) !important;
    padding-right: var(--desii-inner-mobile) !important;
  }
}

.desii-account-layout{
  display: grid;
  grid-template-columns: 17.5rem 1fr;
  gap: var(--desii-s6);
  align-items: start;
}

@media (max-width: 61.25rem){
  .desii-account-layout{
    grid-template-columns: 1fr;
    gap: var(--desii-s4);
  }
}

.woocommerce-account .woocommerce-MyAccount-navigation{
  margin: 0;
}

.desii-account-profile{
  display: grid;
  grid-template-columns: 3.5rem 1fr;
  gap: var(--desii-s2);
  padding: var(--desii-s3);
  background: var(--desii-surface);
  box-shadow: var(--desii-shadow-1);
  margin-bottom: var(--desii-s2);
}

.desii-account-avatar{
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 999px;
  background: var(--desii-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: var(--desii-ink);
}

.desii-account-name{
  font-weight: 700;
  color: var(--desii-ink);
  line-height: 1.2;
}

.desii-account-email{
  font-size: 0.875rem;
  color: var(--desii-muted);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a{
  display: block;
  padding: 0.625rem 0.75rem;
  color: var(--desii-ink);
  text-decoration: none;
  font-weight: 600;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover{
  background: var(--desii-soft);
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active > a{
  background: var(--desii-accent);
  color: #fff;
}

.woocommerce-account .woocommerce-MyAccount-content{
  padding: 0;
}

.desii-account-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--desii-s3);
  margin-top: var(--desii-s3);
}

@media (max-width: 61.25rem){
  .desii-account-grid{
    grid-template-columns: 1fr;
  }
}

.desii-account-card{
  background: var(--desii-surface);
  box-shadow: var(--desii-shadow-1);
  padding: var(--desii-s4);
  text-decoration: none;
  color: inherit;
}

.desii-account-card:hover{
  box-shadow: var(--desii-shadow-2);
}

.desii-account-card-title{
  font-weight: 700;
  color: var(--desii-ink);
}

.desii-account-card-desc{
  font-size: 0.875rem;
  color: var(--desii-muted);
}

.woocommerce-account table.shop_table{
  background: var(--desii-surface);
  box-shadow: var(--desii-shadow-1);
  border: none;
}

.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td{
  border-color: rgba(137,146,151,.25);
}

/* FIX (hamburger): scope buttons alleen binnen account-content, niet header */
.woocommerce-account .woocommerce a.button,
.woocommerce-account .woocommerce button,
.woocommerce-account .woocommerce input[type="submit"]{
  background: var(--desii-accent) !important;
  border: 1px solid var(--desii-accent) !important;
  color: #fff !important;
  border-radius: var(--desii-btn-radius) !important;
  font-weight: 600;
}
/* =========================================================
   Desii – PDP MOBILE IMAGE PROPORTION FIX
   - Smaller gallery height
   - Less padding
   - Keep image contained (no crop)
   ========================================================= */

@media (max-width: 48rem){

  /* card around gallery: less padding */
  .single-product .woocommerce-product-gallery{
    padding: 0.75rem !important; /* was 1rem */
  }

  /* viewport: stop being huge */
  .single-product .woocommerce-product-gallery .flex-viewport{
    aspect-ratio: 1 / 1 !important;   /* was 3/4 */
    max-height: 60vh !important;      /* prevents mega image */
    padding: 0.75rem !important;      /* was var(--desii-s4) */
  }

  /* image: always fit inside */
  .single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img{
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
  }
}

/* extra small phones */
@media (max-width: 26.25rem){
  .single-product .woocommerce-product-gallery .flex-viewport{
    max-height: 52vh !important;
    padding: 0.625rem !important;
  }
}
form.variations_form .variations {
  display: none !important;
}

/* ========================================================================
   Desii PORTALS — homepage twee-ingang (consument / zakelijk)
   Nieuw blok, sluit aan op de bestaande #desii-site tokens. Wijzigt geen
   bestaande regels.
   ======================================================================== */
.desii-portals{ width:100%; padding:clamp(2rem,5vw,4rem) 0; }
.desii-portals__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:clamp(1rem,3vw,2rem);
}
@media (max-width: 767px){
  .desii-portals__grid{ grid-template-columns:1fr; }
}
.desii-portal{
  display:flex;
  flex-direction:column;
  gap:.85rem;
  padding:clamp(1.5rem,3vw,2.25rem);
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
}
.desii-portal--business{ background:#f5f6f6; }
.desii-portal__h{
  margin:0;
  font-size:clamp(1.35rem,2.4vw,1.75rem);
  line-height:1.15;
  color:#111;
}
.desii-portal__p{
  margin:0;
  color:rgba(0,0,0,.7);
  line-height:1.55;
  flex:1 1 auto;
}
.desii-portal__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  margin-top:.4rem;
}

/* ================= Desii CART (body.desii-cart-page gescoped) ================= */
/* Desii Cart — scoped to /cart/ body only (NO FOOTER RULES) */
body.desii-cart-page{
  background: var(--desii-offwhite);
  color: var(--desii-ink);
}

body.desii-cart-page .desii-cart{ padding: var(--desii-s4) 0 var(--desii-s6) 0; }

/* =========================================================
   FIX: THEME INNER stays responsible for site padding
   Desii INNER becomes the max-width boundary for cart content
   Markup:
   <div class="desii-content__inner">
     <div class="desii-cart__inner"> ... </div>
   </div>
   ========================================================= */
body.desii-cart-page .desii-content__inner{
  /* laat je theme dit doen; we overriden hier niks */
}

body.desii-cart-page .desii-cart__inner{
  width: 100%;
  max-width: var(--desii-pdp-max);
  margin: 0 auto;
  box-sizing: border-box;
}

/* Card */
body.desii-cart-page .desii-card{
  background: var(--desii-surface);
  box-shadow: var(--desii-shadow-1);
  padding: var(--desii-s5);
  box-sizing: border-box;
}

body.desii-cart-page .desii-muted{ color: var(--desii-muted); }

body.desii-cart-page .desii-cart__h1{
  margin: 0 0 var(--desii-s1) 0;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.15;
}

body.desii-cart-page .desii-cart__sub{ margin: 0; color: var(--desii-muted); }

body.desii-cart-page .desii-cart__top{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: var(--desii-s4);
  margin: var(--desii-s5) 0;
}

body.desii-cart-page .desii-cart__topRight{
  display: flex;
  align-items: flex-end;
  gap: var(--desii-s4);
}

body.desii-cart-page .desii-cart__topTotal{
  text-align: right;
  display: grid;
  gap: 0.125rem;
}
body.desii-cart-page .desii-cart__amount{ font-weight: 700; }

body.desii-cart-page .desii-cart__topCtas{
  display: flex;
  gap: var(--desii-s2);
  align-items: center;
}

body.desii-cart-page .desii-cart__express > *{ margin: 0 !important; }
body.desii-cart-page .desii-cart__express .button,
body.desii-cart-page .desii-cart__express a.button,
body.desii-cart-page .desii-cart__express button{
  min-height: var(--desii-btn-h);
  padding: 0 var(--desii-btn-px);
}

body.desii-cart-page .desii-cart__checkoutBtn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--desii-btn-h);
  padding: 0 var(--desii-btn-px);
  background: var(--desii-accent) !important;
  border: 1px solid var(--desii-accent) !important;
  color: #fff !important;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  box-shadow: var(--desii-shadow-1);
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
body.desii-cart-page .desii-cart__checkoutBtn:hover{
  transform: translateY(-1px);
  box-shadow: var(--desii-shadow-2);
}

/* Grid */
body.desii-cart-page .desii-cart__grid{
  display: grid;
  grid-template-columns: 1fr minmax(20rem, 26.25rem);
  gap: var(--desii-s4);
  align-items: start;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Right column */
body.desii-cart-page .desii-cart__right{
  position: sticky;
  top: var(--desii-s5);
  align-self: start;

  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Summary */
body.desii-cart-page .desii-summary{
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;

  /* prevents long content from pushing width */
  overflow: hidden;
}
body.desii-cart-page .desii-summary__h{ margin: 0 0 var(--desii-s3) 0; font-size: 1rem; font-weight: 700; }
body.desii-cart-page .desii-summary__rows{ display: grid; gap: var(--desii-s2); }
body.desii-cart-page .desii-summary__row{ display: flex; justify-content: space-between; gap: var(--desii-s3); }
body.desii-cart-page .desii-summary__row > *{ min-width: 0; }
body.desii-cart-page .desii-summary__divider{ height: 1px; background: rgba(137,146,151,.30); margin: var(--desii-s2) 0; }
body.desii-cart-page .desii-summary__total strong{ font-weight: 800; }
body.desii-cart-page .desii-summary__tax{ margin-top: -0.25rem; font-size: 0.8125rem; }
body.desii-cart-page .desii-summary__cta{ width: 100%; margin-top: var(--desii-s3); }
body.desii-cart-page .desii-summary__trust{ margin-top: var(--desii-s3); font-size: 0.8125rem; }

body.desii-cart-page .desii-cart__items{ display: grid; gap: var(--desii-s3); }

body.desii-cart-page .desii-cartItem{
  display: grid;
  grid-template-columns: 6.25rem 1fr;
  gap: var(--desii-s3);
  padding: var(--desii-s3) 0;
  border-top: 1px solid rgba(137,146,151,.25);
}
body.desii-cart-page .desii-cartItem:first-child{ border-top: 0; padding-top: 0; }

body.desii-cart-page .desii-cart__thumb{
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  background: var(--desii-offwhite);
  padding: var(--desii-s2);
}

body.desii-cart-page .desii-cartItem__row{
  display: flex;
  justify-content: space-between;
  gap: var(--desii-s3);
  align-items: flex-start;
}

body.desii-cart-page .desii-cartItem__title{
  color: var(--desii-ink);
  text-decoration: none;
  font-weight: 600;
  letter-spacing: -0.01em;
}
body.desii-cart-page .desii-cartItem__meta{
  margin-top: 0.25rem;
  color: var(--desii-muted);
  font-size: 0.8125rem;
}
body.desii-cart-page .desii-cartItem__meta p{ margin: 0; }

body.desii-cart-page .desii-cartItem__prices{
  text-align: right;
  display: grid;
  gap: 0.25rem;
  white-space: nowrap;
}
body.desii-cart-page .desii-cartItem__unit{ color: var(--desii-muted); font-size: 0.8125rem; }
body.desii-cart-page .desii-cartItem__line{ font-weight: 700; }

body.desii-cart-page .desii-cartItem__actions{
  margin-top: var(--desii-s2);
  align-items: center;
}

body.desii-cart-page .desii-cartItem__qty input.qty{
  width: 4.25rem;
  padding: 0.5rem;
  border: 1px solid rgba(137,146,151,.35);
  background: var(--desii-surface);
  color: var(--desii-ink);
}

body.desii-cart-page .desii-cartItem__remove{
  color: var(--desii-muted);
  text-decoration: none;
  border-bottom: 1px solid rgba(137,146,151,.35);
}
body.desii-cart-page .desii-cartItem__remove:hover{
  color: var(--desii-ink);
  border-bottom-color: rgba(48,89,89,.45);
}

body.desii-cart-page .desii-cart__updateRow{
  display: flex;
  justify-content: flex-end;
  margin-top: var(--desii-s4);
}

body.desii-cart-page .desii-cart__updateRow .button{
  background: var(--desii-accent) !important;
  border: 1px solid var(--desii-accent) !important;
  color: #fff !important;
  min-height: var(--desii-btn-h);
  padding: 0 var(--desii-btn-px);
  font-weight: 600;
}

body.desii-cart-page .desii-cartBar{
  position: fixed;
  left: 0; right: 0; bottom: 0;
  background: rgba(254,254,254,.96);
  border-top: 1px solid rgba(137,146,151,.30);
  padding: var(--desii-s2) var(--desii-inner-mobile);
  display: none;
  z-index: 9999;
}
body.desii-cart-page .desii-cartBar__inner{
  max-width: var(--desii-pdp-max);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  gap: var(--desii-s3);
  align-items: center;
}
body.desii-cart-page .desii-cartBar__cta{
  background: var(--desii-accent) !important;
  border: 1px solid var(--desii-accent) !important;
  color: #fff !important;
  min-height: var(--desii-btn-h);
  padding: 0 var(--desii-btn-px);
  font-weight: 600;
}

/* IMPORTANT: keep footer styles OUT of cart CSS. */

@media (max-width: 61.25rem){
  body.desii-cart-page .desii-cart__top{ align-items: flex-start; }
  body.desii-cart-page .desii-cart__grid{ grid-template-columns: 1fr; }
  body.desii-cart-page .desii-cart__right{ position: static; top: auto; }
}

@media (max-width: 48rem){
  body.desii-cart-page .desii-cart__top{ flex-direction: column; gap: var(--desii-s3); }
  body.desii-cart-page .desii-cart__topRight{ width: 100%; justify-content: space-between; }
  body.desii-cart-page .desii-cart__topCtas{ width: 100%; justify-content: flex-end; }
  body.desii-cart-page .desii-card{ padding: var(--desii-s4); }
  body.desii-cart-page .desii-cartItem{ grid-template-columns: 5.25rem 1fr; }
  body.desii-cart-page .desii-cartBar{ display: block; }
  body.desii-cart-page .desii-cart{ padding-bottom: 5rem; }
}

/* =========================================================
   PATCHES — only requested fixes (keeps your colors/layout)
   ========================================================= */

/* 1) Lege winkelwagen: button kleur + tekstkleur correct (match Desii accent) */
body.desii-cart-page .desii-cart__empty .button,
body.desii-cart-page .desii-cart__empty a.button,
body.desii-cart-page .desii-cart__empty button.button{
  background: var(--desii-accent) !important;
  border: 1px solid var(--desii-accent) !important;
  color: #fff !important;
  min-height: var(--desii-btn-h);
  padding: 0 var(--desii-btn-px);
  font-weight: 600;
  box-shadow: var(--desii-shadow-1);
}
body.desii-cart-page .desii-cart__empty .button:hover,
body.desii-cart-page .desii-cart__empty a.button:hover,
body.desii-cart-page .desii-cart__empty button.button:hover{
  transform: translateY(-1px);
  box-shadow: var(--desii-shadow-2);
  opacity: 1;
}

/* 2) Gevulde winkelwagen: verberg “Doorgaan met afrekenen” */
body.desii-cart-page .desii-cart__express{
  display: none !important;
}

/* 4) Mobiel: leesbaar (stacking/spacing zonder layout te breken) */
@media (max-width: 48rem){
  body.desii-cart-page .desii-cart__topRight{
    flex-direction: column;
    align-items: stretch;
    gap: var(--desii-s3);
  }

  body.desii-cart-page .desii-cart__topTotal{
    text-align: left;
  }

  body.desii-cart-page .desii-cart__topCtas{
    justify-content: stretch;
  }

  body.desii-cart-page .desii-cart__checkoutBtn{
    width: 100%;
    text-align: center;
  }

  body.desii-cart-page .desii-cartItem__row{
    flex-direction: column;
    align-items: flex-start;
    gap: var(--desii-s2);
  }

  body.desii-cart-page .desii-cartItem__prices{
    width: 100%;
    text-align: left;
    display: flex;
    justify-content: space-between;
    gap: var(--desii-s3);
  }

  body.desii-cart-page .desii-cartItem__actions{
    width: 100%;
    justify-content: space-between;
    gap: var(--desii-s3);
  }
}

/* ============== Desii CHECKOUT (body.desii-checkout-page gescoped) ============== */
/* Desii Checkout — scoped to /checkout/ body only (NO FOOTER RULES) */
body.desii-checkout-page{
  background: var(--desii-offwhite);
  color: var(--desii-ink);
}

body.desii-checkout-page .desii-checkout{ padding: var(--desii-s4) 0 var(--desii-s6) 0; }
body.desii-checkout-page .desii-checkout__inner{ max-width: var(--desii-pdp-max); margin: 0 auto; }

body.desii-checkout-page .desii-card{
  background: var(--desii-surface);
  box-shadow: var(--desii-shadow-1);
  padding: var(--desii-s5);
}

body.desii-checkout-page .desii-muted{ color: var(--desii-muted); }

body.desii-checkout-page .desii-checkout__h1{
  margin: 0 0 var(--desii-s1) 0;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.15;
}

body.desii-checkout-page .desii-checkout__sub{ margin: 0; color: var(--desii-muted); }

body.desii-checkout-page .desii-checkout__top{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: var(--desii-s4);
  margin: var(--desii-s5) 0;
}

body.desii-checkout-page .desii-checkout__topRight{
  display: flex;
  align-items: flex-end;
  gap: var(--desii-s4);
}

body.desii-checkout-page .desii-checkout__topTotal{
  text-align: right;
  display: grid;
  gap: 0.125rem;
}
body.desii-checkout-page .desii-checkout__amount{ font-weight: 700; }

body.desii-checkout-page .desii-checkout__grid{
  display: grid;
  grid-template-columns: 1fr minmax(20rem, 26.25rem);
  gap: var(--desii-s4);
  align-items: start;
}

body.desii-checkout-page .desii-checkout__right{
  position: sticky;
  top: var(--desii-s5);
  align-self: start;
}

body.desii-checkout-page .desii-checkout__sectionH{
  margin: 0 0 var(--desii-s3) 0;
  font-size: 1rem;
  font-weight: 700;
}

body.desii-checkout-page .desii-summary__h{
  margin: 0 0 var(--desii-s3) 0;
  font-size: 1rem;
  font-weight: 700;
}

/* Form fields (Woo) */
body.desii-checkout-page .desii-checkout__form{
  margin: 0;
}

body.desii-checkout-page .woocommerce-billing-fields__field-wrapper,
body.desii-checkout-page .woocommerce-shipping-fields__field-wrapper,
body.desii-checkout-page .woocommerce-additional-fields__field-wrapper{
  display: grid;
  gap: var(--desii-s2);
}

body.desii-checkout-page .form-row{
  margin: 0;
}

body.desii-checkout-page .form-row label{
  font-size: 0.875rem;
  color: var(--desii-muted);
  margin-bottom: 0.25rem;
  display: inline-block;
}

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{
  width: 100%;
  min-height: var(--desii-btn-h);
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(137,146,151,.35);
  background: var(--desii-surface);
  color: var(--desii-ink);
  border-radius: 0.25rem;
}

body.desii-checkout-page .woocommerce-input-wrapper textarea{
  min-height: 7rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

/* Two-column customer details on larger screens */
body.desii-checkout-page .desii-checkout__customerDetails{
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--desii-s4);
}

body.desii-checkout-page .desii-checkout__col > *:first-child{
  margin-top: 0;
}

/* Order review styles */
body.desii-checkout-page #order_review,
body.desii-checkout-page .woocommerce-checkout-review-order{
  margin: 0;
}

body.desii-checkout-page .shop_table{
  width: 100%;
  border-collapse: collapse;
}

body.desii-checkout-page .shop_table th,
body.desii-checkout-page .shop_table td{
  padding: 0.75rem 0;
  border-top: 1px solid rgba(137,146,151,.25);
  vertical-align: top;
}

body.desii-checkout-page .shop_table tr:first-child th,
body.desii-checkout-page .shop_table tr:first-child td{
  border-top: 0;
}

body.desii-checkout-page .shop_table th{
  text-align: left;
  font-weight: 600;
}

body.desii-checkout-page .shop_table td:last-child,
body.desii-checkout-page .shop_table th:last-child{
  text-align: right;
  white-space: nowrap;
}

/* Payment + Place order button */
body.desii-checkout-page #payment{
  margin-top: var(--desii-s3);
  padding-top: var(--desii-s3);
  border-top: 1px solid rgba(137,146,151,.30);
}

body.desii-checkout-page #payment ul.payment_methods{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: var(--desii-s2);
}

body.desii-checkout-page #payment .payment_box{
  margin: 0.5rem 0 0 0;
  padding: var(--desii-s3);
  background: var(--desii-offwhite);
  border: 1px solid rgba(137,146,151,.25);
}

body.desii-checkout-page #place_order,
body.desii-checkout-page button#place_order{
  width: 100%;
  min-height: var(--desii-btn-h);
  padding: 0 var(--desii-btn-px);
  background: var(--desii-accent) !important;
  border: 1px solid var(--desii-accent) !important;
  color: #fff !important;
  font-weight: 600;
  line-height: 1;
  box-shadow: var(--desii-shadow-1);
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}

body.desii-checkout-page #place_order:hover,
body.desii-checkout-page button#place_order:hover{
  transform: translateY(-1px);
  box-shadow: var(--desii-shadow-2);
}

/* Trust text */
body.desii-checkout-page .desii-summary__trust{
  margin-top: var(--desii-s3);
  font-size: 0.8125rem;
}

/* Mobile bottom bar */
body.desii-checkout-page .desii-checkoutBar{
  position: fixed;
  left: 0; right: 0; bottom: 0;
  background: rgba(254,254,254,.96);
  border-top: 1px solid rgba(137,146,151,.30);
  padding: var(--desii-s2) var(--desii-inner-mobile);
  display: none;
  z-index: 9999;
}

body.desii-checkout-page .desii-checkoutBar__inner{
  max-width: var(--desii-pdp-max);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  gap: var(--desii-s3);
  align-items: center;
}

body.desii-checkout-page .desii-checkoutBar__cta{
  background: var(--desii-accent) !important;
  border: 1px solid var(--desii-accent) !important;
  color: #fff !important;
  min-height: var(--desii-btn-h);
  padding: 0 var(--desii-btn-px);
  font-weight: 600;
}

/* Responsive */
@media (max-width: 61.25rem){
  body.desii-checkout-page .desii-checkout__grid{ grid-template-columns: 1fr; }
  body.desii-checkout-page .desii-checkout__right{ position: static; top: auto; }
}

@media (max-width: 48rem){
  body.desii-checkout-page .desii-checkout__top{
    flex-direction: column;
    gap: var(--desii-s3);
    align-items: flex-start;
  }

  body.desii-checkout-page .desii-checkout__topTotal{ text-align: left; }

  body.desii-checkout-page .desii-card{ padding: var(--desii-s4); }

  body.desii-checkout-page .desii-checkoutBar{ display: block; }
  body.desii-checkout-page .desii-checkout{ padding-bottom: 5rem; }
}

/* =========================================================
   PATCHES — only safe tweaks, keeps your colors/layout
   ========================================================= */

/* Ensure summary column is full width */
body.desii-checkout-page .desii-checkout__right,
body.desii-checkout-page .desii-checkout__right .desii-checkout__summary{
  width: 100%;
  max-width: none;
}

/* ==========================================================================
   Desii v2.1.0 — FIXES (shop-loop, cart, checkout, PDP-nav, portaal-popup)
   Additief & gescoped; gebruikt bestaande --desii-* tokens. Wijzigt niets boven.
   ========================================================================== */

/* -------- afb1: KLASSIEKE SHOP-LOOP (ul.products) als nette grid -------- */
.woocommerce-page ul.products,
.desii-content--woo ul.products{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  gap:var(--desii-s3) !important;
  margin:0 !important; padding:0 !important; list-style:none !important;
}
@media (max-width: 64rem){ .woocommerce-page ul.products,.desii-content--woo ul.products{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; } }
@media (max-width: 48rem){ .woocommerce-page ul.products,.desii-content--woo ul.products{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:.75rem !important; } }
@media (max-width: 26.25rem){ .woocommerce-page ul.products,.desii-content--woo ul.products{ grid-template-columns:1fr !important; } }

.woocommerce-page ul.products li.product,
.desii-content--woo ul.products li.product{
  width:auto !important; float:none !important; margin:0 !important;
  background:var(--desii-surface) !important; box-shadow:var(--desii-shadow-1) !important;
  border:0 !important; padding:var(--desii-s3) !important;
  display:flex !important; flex-direction:column !important; gap:.4rem !important;
  text-align:left !important; box-sizing:border-box !important;
  transition:transform .18s ease, box-shadow .18s ease;
}
.woocommerce-page ul.products li.product:hover{ transform:translateY(-2px); box-shadow:var(--desii-shadow-2) !important; }
.woocommerce-page ul.products li.product a img,
.desii-content--woo ul.products li.product img{
  width:auto !important; height:auto !important;
  max-width: 9.6875rem !important; max-height:9.6875rem !important;
  margin:0 auto .25rem auto !important; display:block !important;
}
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.desii-content--woo ul.products li.product h2{
  font-size:1rem !important; font-weight:600 !important; color:var(--desii-ink) !important;
  letter-spacing:-.01em !important; padding:.25rem 0 0 0 !important; margin:0 !important;
}
.woocommerce-page ul.products li.product .price,
.desii-content--woo ul.products li.product .price{
  color:var(--desii-ink) !important; font-weight:700 !important; font-size:.9rem !important;
  margin:.15rem 0 .4rem 0 !important;
}
.woocommerce-page ul.products li.product .price del{ color:var(--desii-muted) !important; font-weight:400 !important; }
.woocommerce-page ul.products li.product .button,
.woocommerce-page ul.products li.product a.add_to_cart_button,
.woocommerce-page ul.products li.product a.button,
.desii-content--woo ul.products li.product a.button{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  width:auto !important; align-self:flex-start !important; margin-top:auto !important;
  min-height:var(--desii-btn-h) !important; padding:0 var(--desii-btn-px) !important;
  background:var(--desii-accent) !important; border:1px solid var(--desii-accent) !important;
  color:#fff !important; font-weight:600 !important; line-height:1 !important;
  border-radius:0 !important; text-decoration:none !important; box-shadow:none !important;
}
.woocommerce-page ul.products li.product .button:hover{ box-shadow:var(--desii-shadow-1) !important; }
.woocommerce-page .woocommerce-result-count{ color:var(--desii-muted) !important; }
.woocommerce-page .woocommerce-ordering select{
  border:1px solid rgba(137,146,151,.35) !important; background:var(--desii-surface) !important;
  color:var(--desii-ink) !important; min-height:var(--desii-btn-h) !important; padding:0 .6rem !important;
}

/* -------- afb4: STANDAARD WOO-WINKELWAGEN in Desii-stijl -------- */
body.desii-cart-page .woocommerce{ max-width: var(--desii-pdp-max) !important; margin:0 auto !important; }
body.desii-cart-page form.woocommerce-cart-form,
body.desii-cart-page .cart-collaterals .cart_totals{
  background:var(--desii-surface) !important; box-shadow:var(--desii-shadow-1) !important;
  padding:var(--desii-s5) !important; box-sizing:border-box !important; margin-bottom:var(--desii-s4) !important;
}
body.desii-cart-page table.shop_table{ border:0 !important; background:transparent !important; }
body.desii-cart-page table.shop_table th,
body.desii-cart-page table.shop_table td{
  border-top:1px solid rgba(137,146,151,.25) !important; padding:.85rem .5rem !important; color:var(--desii-ink) !important;
}
body.desii-cart-page table.shop_table thead th{ font-weight:600 !important; }
body.desii-cart-page table.cart img{ width:3.25rem !important; height:auto !important; }
body.desii-cart-page td.product-remove a.remove{ color:var(--desii-muted) !important; font-weight:700 !important; }
body.desii-cart-page td.product-remove a.remove:hover{ background:transparent !important; color:#c0392b !important; }
body.desii-cart-page .quantity input.qty{
  border:1px solid rgba(137,146,151,.35) !important; background:var(--desii-surface) !important;
  color:var(--desii-ink) !important; padding:.45rem !important; width:4rem !important;
}
body.desii-cart-page .coupon input#coupon_code{
  border:1px solid rgba(137,146,151,.35) !important; background:var(--desii-surface) !important;
  min-height:var(--desii-btn-h) !important; padding:0 .65rem !important; color:var(--desii-ink) !important;
}
/* Secundaire knoppen (waardebon + update) = wit met accent-rand */
body.desii-cart-page button[name="apply_coupon"],
body.desii-cart-page button[name="update_cart"],
body.desii-cart-page input[name="update_cart"]{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  background:var(--desii-surface) !important; border:1px solid var(--desii-accent) !important;
  color:var(--desii-accent) !important; min-height:44px !important; line-height:1 !important;
  padding:0 18px !important; font-weight:600 !important; border-radius:999px !important; opacity:1 !important;
}
body.desii-cart-page button[name="update_cart"][disabled]{ opacity:.55 !important; }
/* Primaire CTA (afrekenen) = accent-groen, geen paars meer */
body.desii-cart-page .cart_totals h2{ color:var(--desii-ink) !important; font-weight:700 !important; font-size:1.25rem !important; }
body.desii-cart-page .wc-proceed-to-checkout a.checkout-button,
body.desii-cart-page a.checkout-button.button.alt,
body.desii-cart-page .checkout-button{
  display:flex !important; align-items:center !important; justify-content:center !important;
  width:100% !important; min-height:52px !important; padding:10px 20px !important; line-height:1.2 !important;
  text-align:center !important;
  background:var(--desii-accent) !important; border:1px solid var(--desii-accent) !important; color:#fff !important;
  font-weight:600 !important; border-radius:999px !important; box-shadow:var(--desii-shadow-1) !important; text-decoration:none !important;
}
/* Geen WooCommerce-pijl (wc-forward ::after) — die duwt de tekst optisch omhoog */
body.desii-cart-page .wc-proceed-to-checkout a.checkout-button::before,
body.desii-cart-page .wc-proceed-to-checkout a.checkout-button::after,
body.desii-cart-page .checkout-button::before,
body.desii-cart-page .checkout-button::after{ content:none !important; display:none !important; }
body.desii-cart-page .wc-proceed-to-checkout a.checkout-button:hover{ box-shadow:var(--desii-shadow-2) !important; transform:translateY(-1px); }

/* -------- afb5: CHECKOUT/CART info-balken & login/coupon in Desii-stijl -------- */
body.desii-checkout-page .woocommerce-info,
body.desii-checkout-page .woocommerce-message,
body.desii-cart-page .woocommerce-info,
body.desii-cart-page .woocommerce-message{
  background:var(--desii-offwhite) !important; border:0 !important; border-left:3px solid var(--desii-accent) !important;
  color:var(--desii-ink) !important; box-shadow:var(--desii-shadow-1) !important; border-radius:0 !important;
}
body.desii-checkout-page .woocommerce-info::before,
body.desii-cart-page .woocommerce-info::before{ color:var(--desii-accent) !important; }
body.desii-checkout-page a.showlogin,
body.desii-checkout-page a.showcoupon,
body.desii-cart-page a.showcoupon{ color:var(--desii-accent) !important; text-decoration:underline !important; }
body.desii-checkout-page input[type="checkbox"],
body.desii-checkout-page input[type="radio"],
body.desii-cart-page input[type="checkbox"]{ accent-color:var(--desii-accent) !important; }
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{
  background:var(--desii-accent) !important; border:1px solid var(--desii-accent) !important; color:#fff !important;
  min-height:var(--desii-btn-h) !important; padding:0 var(--desii-btn-px) !important; font-weight:600 !important; border-radius:0 !important;
}
body.desii-checkout-page .woocommerce-form-login input.input-text,
body.desii-checkout-page .woocommerce-form-coupon input.input-text{
  border:1px solid rgba(137,146,151,.35) !important; background:var(--desii-surface) !important;
  min-height:var(--desii-btn-h) !important; padding:0 .65rem !important;
}

/* -------- afb6: SINGLE PRODUCT — Vorige/Volgende-nav stylen + opruimen -------- */
.single-product div.product .desii-pdp-nav,
.single-product div.product .woocommerce-product-navigation,
.single-product div.product .related,
.single-product div.product .up-sells{
  grid-column:1 / -1 !important; width:100% !important;
}
.single-product .desii-pdp-nav{
  display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:var(--desii-s3) !important; margin:var(--desii-s5) auto 0 auto !important;
  max-width: var(--desii-pdp-max) !important;
}
@media (max-width: 48rem){ .single-product .desii-pdp-nav{ grid-template-columns:1fr !important; } }
.single-product .desii-pdp-nav__card{
  display:flex !important; align-items:center !important; justify-content:space-between !important; gap:var(--desii-s3) !important;
  background:var(--desii-surface) !important; box-shadow:var(--desii-shadow-1) !important;
  padding:var(--desii-s3) !important; text-decoration:none !important; color:var(--desii-ink) !important;
  transition:transform .18s ease, box-shadow .18s ease;
}
.single-product .desii-pdp-nav__card:hover{ transform:translateY(-2px); box-shadow:var(--desii-shadow-2) !important; }
.single-product .desii-pdp-nav__label{ font-size:.75rem !important; color:var(--desii-muted) !important; text-transform:uppercase !important; letter-spacing:.04em !important; }
.single-product .desii-pdp-nav__title{ font-weight:600 !important; color:var(--desii-ink) !important; margin:.15rem 0 !important; }
.single-product .desii-pdp-nav__price{ font-weight:700 !important; color:var(--desii-ink) !important; font-size:.9rem !important; }
.single-product .desii-pdp-nav__img img{ width:4rem !important; height:auto !important; display:block !important; }
/* Lege accordeon-vakken (bv. product zonder beschrijving) niet als groot leeg blok tonen */
.single-product .desii-accordion .desii-acc-body:empty{ display:none !important; }
.single-product .desii-accordion .desii-acc-body > p:empty{ display:none !important; }

/* -------- afb3: PORTAAL-POPUP (B2C / B2B keuze-gate) -------- */
.desii-portal-gate{ position:fixed; inset:0; z-index:100000; display:grid; place-items:center; padding:1rem; }
.desii-portal-gate[hidden]{ display:none; }
.desii-portal-gate__backdrop{ position:absolute; inset:0; background:rgba(17,17,17,.55); backdrop-filter:saturate(1) blur(2px); }
.desii-portal-gate__dialog{
  position:relative; width:100%; max-width: 46rem; background:var(--desii-surface);
  box-shadow:0 24px 60px rgba(44,51,62,.28); padding:clamp(1.5rem,4vw,2.5rem); box-sizing:border-box;
}
.desii-portal-gate__title{ margin:0 0 .35rem 0; color:var(--desii-fg,#111); font-weight:700; line-height:1.15; font-size:clamp(1.3rem,2.4vw,1.7rem); }
.desii-portal-gate__lead{ margin:0 0 clamp(1rem,3vw,1.6rem) 0; color:var(--desii-muted); line-height:1.55; }
.desii-portal-gate__grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1rem,3vw,1.5rem); }
@media (max-width: 39.99rem){ .desii-portal-gate__grid{ grid-template-columns:1fr; } }
.desii-portal-gate__card{
  display:flex; flex-direction:column; gap:.7rem; padding:clamp(1.1rem,3vw,1.6rem);
  border:1px solid rgba(0,0,0,.12); background:#fff;
}
.desii-portal-gate__card--business{ background:var(--desii-offwhite); }
.desii-portal-gate__h{ margin:0; color:var(--desii-ink); font-weight:700; font-size:1.2rem; line-height:1.15; }
.desii-portal-gate__p{ margin:0; color:var(--desii-ink); opacity:.78; line-height:1.55; flex:1 1 auto; font-size:.92rem; }
/* Knoppen los stylen: de popup staat BUITEN #desii-site, dus .desii-btn-regels gelden hier niet */
.desii-portal-gate .desii-btn{
  display:inline-flex; align-items:center; justify-content:center; align-self:flex-start;
  min-height:var(--desii-btn-h); padding:0 var(--desii-btn-px);
  background:var(--desii-accent); border:1px solid var(--desii-accent); color:#fff;
  font-weight:600; line-height:1; text-decoration:none; border-radius:0; cursor:pointer;
  box-shadow:var(--desii-shadow-1); transition:transform .15s ease, box-shadow .15s ease;
}
.desii-portal-gate .desii-btn:hover{ transform:translateY(-1px); box-shadow:var(--desii-shadow-2); }

/* ==========================================================================
   Desii v2.3.0 — knoppen afgerond + lettertype consistent (match homepage)
   ========================================================================== */

/* 1) Alle actieknoppen afgerond op --desii-btn-radius (zoals de homepage) */
#desii-site .desii-btn,
#desii-site .button,
#desii-site button.button,
#desii-site input.button,
#desii-site .woocommerce a.button,
.woocommerce-page ul.products li.product .button,
.woocommerce-page ul.products li.product a.button,
body.desii-cart-page .button,
body.desii-cart-page a.checkout-button,
body.desii-cart-page button[name="apply_coupon"],
body.desii-cart-page button[name="update_cart"],
body.desii-checkout-page #place_order,
body.desii-checkout-page button#place_order,
body.desii-checkout-page .woocommerce-form-login button,
body.desii-checkout-page .woocommerce-form-coupon button,
.desii-portal-gate .desii-btn{
  border-radius: var(--desii-btn-radius) !important;
}

/* 2) Form-controls/knoppen erven het site-lettertype (i.p.v. de UA-default) */
#desii-site button, #desii-site input, #desii-site select, #desii-site textarea,
#desii-site .button, #desii-site .desii-btn,
.woocommerce-page button, .woocommerce-page input,
.woocommerce-page select, .woocommerce-page textarea,
.desii-portal-gate button, .desii-portal-gate input{
  font-family: inherit !important;
}

/* 3) Popup staat buiten #desii-site: zelfde lettertype-baseline.
      (Geen !important: kiest de klant in Aanpassen een ander lettertype,
       dan overschrijft die keuze dit alsnog voor de popup.) */
.desii-portal-gate,
.desii-portal-gate__title,
.desii-portal-gate__h{
  font-family: ui-sans-serif, system-ui, "Segoe UI", Roboto, Helvetica, Arial, "Segoe UI Emoji";
}

/* ==========================================================================
   Desii v2.8.0 — popup sluitknop + header wissel-icoon
   ========================================================================== */
.desii-portal-gate__dialog{ position:relative; }
.desii-portal-gate__close{
  position:absolute; top:.5rem; right:.5rem;
  width:2rem; height:2rem; display:grid; place-items:center;
  border:0; background:transparent; cursor:pointer;
  font-size:1.5rem; line-height:1; color:var(--desii-muted);
  border-radius:999px; transition:background .15s ease, color .15s ease;
}
.desii-portal-gate__close:hover{ color:var(--desii-ink); background:rgba(0,0,0,.06); }

/* Header wissel-knop volgt de bestaande icon-styling; alleen reset als <button>. */
#desii-site .desii-portal-switch{
  border:0; background:transparent; cursor:pointer; padding:0;
  color:var(--desii-ink) !important;
}
/* Alle header-iconen (a én button) ink; currentColor-strokes volgen mee */
#desii-site .desii-header-icon{ color:var(--desii-ink) !important; }
/* Navlinks nooit browser-/actief-blauw; hover = accent-groen */
#desii-site .desii-nav a,
#desii-site .desii-nav a:visited,
#desii-site .desii-nav a:link,
#desii-site .desii-nav .current-menu-item > a,
#desii-site .desii-nav .current_page_item > a,
#desii-site .desii-nav__link{ color: var(--desii-ink) !important; text-decoration: none !important; }
#desii-site .desii-nav a:hover .desii-nav__link,
#desii-site .desii-nav__link:hover{ color: var(--desii-accent) !important; }
/* Kleine beginletter tóch als hoofdletter ("shop" -> "Shop") */
#desii-site .desii-nav__link::first-letter{ text-transform: uppercase; }

/* ========================================================================
   Desii — Account-formuliervelden zichtbaar maken
   Login + registreren (incl. zakelijke velden): zachte vulkleur + duidelijke
   rand zodat elk invulvak opvalt tegen de witte kaart. Accent-focusring.
   ======================================================================== */
.woocommerce-account form.woocommerce-form-login .input-text,
.woocommerce-account form.woocommerce-form-register .input-text,
.woocommerce-account form.register .input-text,
.woocommerce-account form.login .input-text,
.desii-reg-biz .input-text,
.desii-reg-biz select{
  background: var(--desii-soft) !important;
  border: 1px solid rgba(48,89,89,.28) !important;
  border-radius: var(--desii-btn-radius, 12px) !important;
  min-height: var(--desii-btn-h, 48px) !important;
  padding: 0 .85rem !important;
  color: var(--desii-ink) !important;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease !important;
}
.woocommerce-account form.woocommerce-form-login .input-text::placeholder,
.woocommerce-account form.woocommerce-form-register .input-text::placeholder,
.desii-reg-biz .input-text::placeholder{
  color: var(--desii-muted) !important;
}
.woocommerce-account form.woocommerce-form-login .input-text:focus,
.woocommerce-account form.woocommerce-form-register .input-text:focus,
.woocommerce-account form.register .input-text:focus,
.woocommerce-account form.login .input-text:focus,
.desii-reg-biz .input-text:focus,
.desii-reg-biz select:focus{
  background: #fff !important;
  border-color: var(--desii-accent) !important;
  box-shadow: 0 0 0 3px rgba(48,89,89,.15) !important;
  outline: none !important;
}
/* Ingevuld/auto-aangevuld veld: subtiele accent-tint zodat je ziet dat het klaar is */
.desii-reg-biz .input-text:not(:placeholder-shown):not(:focus){
  background: rgba(48,89,89,.06) !important;
  border-color: rgba(48,89,89,.4) !important;
}

/* ========================================================================
   Desii — Login + Registreren netjes naast elkaar
   WooCommerce levert #customer_login als float-kolommen; die vielen schuin
   onder elkaar. Forceer een schoon 2-koloms grid (1 kolom op mobiel).
   ======================================================================== */
.woocommerce-account #customer_login.u-columns,
.woocommerce-account .u-columns.col2-set{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--desii-s4, 2rem) !important;
  align-items: start !important;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
}
.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login .u-column2,
.woocommerce-account .col2-set .u-column1,
.woocommerce-account .col2-set .u-column2{
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-account #customer_login::before,
.woocommerce-account #customer_login::after{ content: none !important; }
@media (max-width: 61.25rem){
  .woocommerce-account #customer_login.u-columns,
  .woocommerce-account .u-columns.col2-set{
    grid-template-columns: 1fr !important;
  }
}

/* ========================================================================
   Desii — Juridische pagina's als leesbaar document
   (algemene voorwaarden, privacy/cookies, disclaimer, retour). Smalle
   leeskolom, nette koppen/lijsten, en een inhoudsopgave-kaart bovenaan.
   ======================================================================== */
.desii-page.desii-page-legal .desii-page__inner{
  width: min(48rem, 100%);
  margin: 0 auto;
  padding: clamp(1.25rem, 3vw, 2.5rem) 0 clamp(2rem, 5vw, 4rem);
  color: var(--desii-ink);
  font-size: 1.0625rem;
  line-height: 1.7;
}
.desii-page.desii-page-legal .desii-page__inner > *:first-child{ margin-top: 0; }
.desii-page.desii-page-legal .desii-page__inner h2{
  font-size: clamp(1.25rem, 2.2vw, 1.6rem);
  line-height: 1.2;
  margin: 2.25rem 0 .6rem;
  scroll-margin-top: 6rem;
  color: var(--desii-ink);
}
.desii-page.desii-page-legal .desii-page__inner h3{
  font-size: 1.15rem;
  margin: 1.5rem 0 .4rem;
  color: var(--desii-ink);
}
.desii-page.desii-page-legal .desii-page__inner p,
.desii-page.desii-page-legal .desii-page__inner li{
  color: var(--desii-ink);
}
.desii-page.desii-page-legal .desii-page__inner ul,
.desii-page.desii-page-legal .desii-page__inner ol{
  padding-left: 1.25rem;
  margin: .5rem 0 1.1rem;
}
.desii-page.desii-page-legal .desii-page__inner li{ margin: .3rem 0; }
.desii-page.desii-page-legal .desii-page__inner a{
  color: var(--desii-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.desii-page.desii-page-legal .desii-page__inner hr{
  border: none;
  border-top: 1px solid rgba(137,146,151,.25);
  margin: 2rem 0;
}
/* "Laatst bijgewerkt"-regel */
.desii-legal-updated{
  display: inline-block;
  font-size: .875rem;
  color: var(--desii-muted);
  margin: 0 0 1.5rem;
}
/* Inhoudsopgave-kaart (auto-gegenereerd) */
.desii-legal-toc{
  background: var(--desii-soft);
  border: 1px solid rgba(137,146,151,.2);
  border-radius: 16px;
  padding: 1.1rem 1.35rem;
  margin: 0 0 2rem;
}
.desii-legal-toc__h{
  font-size: .8125rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--desii-muted);
  margin: 0 0 .6rem;
}
.desii-legal-toc ol{
  list-style: none;
  counter-reset: toc;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .35rem;
}
.desii-legal-toc li{ margin: 0; counter-increment: toc; }
.desii-legal-toc a{
  display: flex;
  gap: .6rem;
  align-items: baseline;
  color: var(--desii-ink) !important;
  text-decoration: none !important;
  padding: .25rem 0;
  transition: color .15s ease;
}
.desii-legal-toc a::before{
  content: counter(toc, decimal-leading-zero);
  font-variant-numeric: tabular-nums;
  font-size: .8125rem;
  color: var(--desii-accent);
  font-weight: 700;
  min-width: 1.6rem;
}
.desii-legal-toc a:hover,
.desii-legal-toc a.is-active{ color: var(--desii-accent) !important; }


#desii-site .desii-footer-nap,
.desii-footer .desii-footer-nap{
  text-align:center !important;
  font-size:12px !important;
  line-height:1.6 !important;
  color:rgba(0,0,0,.6) !important;
  margin:0 0 18px !important;
}


/* ==========================================================================
   Overzicht (checkout order review) — opgeschoond & rustig
   Verwijdert de stray bullet bij Verzending, lijnt prijzen netjes rechts uit,
   geeft de rijen consistente hairlines. Scoped op de summary-kaart.
   ========================================================================== */
body.desii-checkout-page .desii-checkout__orderReview table.shop_table{ width:100%; border-collapse:collapse; margin:0; }
body.desii-checkout-page .desii-checkout__orderReview thead th{
  font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; color:var(--desii-muted);
  font-weight:600; padding:0 0 .55rem; border:0; border-bottom:1px solid var(--desii-hairline);
}
body.desii-checkout-page .desii-checkout__orderReview thead th:last-child{ text-align:right; }
body.desii-checkout-page .desii-checkout__orderReview tbody .cart_item td{
  padding:.7rem 0; border:0; border-bottom:1px solid var(--desii-hairline);
  font-size:14px; color:var(--desii-ink); vertical-align:top;
}
body.desii-checkout-page .desii-checkout__orderReview td.product-name{ padding-right:1rem; line-height:1.35; }
body.desii-checkout-page .desii-checkout__orderReview strong.product-quantity{ font-weight:600; color:var(--desii-muted); white-space:nowrap; }
body.desii-checkout-page .desii-checkout__orderReview td.product-total{ text-align:right; white-space:nowrap; font-weight:600; }
body.desii-checkout-page .desii-checkout__orderReview tfoot th,
body.desii-checkout-page .desii-checkout__orderReview tfoot td{
  padding:.6rem 0; border:0; font-size:14px; color:var(--desii-ink); vertical-align:top;
}
body.desii-checkout-page .desii-checkout__orderReview tfoot th{ font-weight:600; color:var(--desii-muted); white-space:nowrap; text-align:left; }
body.desii-checkout-page .desii-checkout__orderReview tfoot td{ text-align:right; white-space:nowrap; }
body.desii-checkout-page .desii-checkout__orderReview tfoot tr:not(.order-total) th,
body.desii-checkout-page .desii-checkout__orderReview tfoot tr:not(.order-total) td{ border-bottom:1px solid var(--desii-hairline); }
body.desii-checkout-page .desii-checkout__orderReview .shipping td{ text-align:right; }
body.desii-checkout-page .desii-checkout__orderReview ul#shipping_method,
body.desii-checkout-page .desii-checkout__orderReview .woocommerce-shipping-methods,
body.desii-checkout-page .desii-checkout__orderReview .shipping ul,
body.desii-checkout-page .desii-checkout__orderReview .shipping li{ list-style:none !important; margin:0 !important; padding:0 !important; }
body.desii-checkout-page .desii-checkout__orderReview .shipping li{ display:block; }
body.desii-checkout-page .desii-checkout__orderReview .shipping label{ margin:0; }
body.desii-checkout-page .desii-checkout__orderReview tfoot tr.order-total th,
body.desii-checkout-page .desii-checkout__orderReview tfoot tr.order-total td{
  font-size:16px; font-weight:800; color:var(--desii-ink); border-bottom:0 !important; padding-top:.85rem;
}
body.desii-checkout-page .desii-checkout__orderReview tfoot .includes_tax,
body.desii-checkout-page .desii-checkout__orderReview tfoot small{ color:var(--desii-muted); font-weight:400; }
