/*
Theme Name: Newmart
Theme URI: https://www.newmart.nl/
Author: newmart
Author URI: https://www.newmart.nl/
Description: Officieel webshop-thema voor Newmart Europe BV. Clean, uniek en professioneel B2B-ontwerp met een eigen visueel systeem, volledig WooCommerce-compatibel en zonder code aanpasbaar via de Customizer.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: newmart
Tags: e-commerce, custom-logo, custom-menu, featured-images, translation-ready
WC requires at least: 7.0
WC tested up to: 10.9
*/

/* ==========================================================
   1. Design-tokens
   ========================================================== */
:root{
  --nm-ink:#0e1712;
  --nm-ink-soft:#33413a;
  --nm-mut:#66716a;
  --nm-paper:#ffffff;
  --nm-bg:#f3f6f3;
  --nm-soft:#eef2ef;
  --nm-line:#e2e8e3;
  --nm-line-strong:#d3ddd6;

  --nm-accent:#157a45;        /* Newmart-groen — override via Customizer */
  --nm-accent-dark:#0f5e34;
  --nm-accent-soft:#e9f3ed;
  --nm-accent-2:#1fa15f;
  --nm-deep:#0d2a1e;          /* diepe merkgroen voor donkere vlakken */
  --nm-deep-2:#123a29;

  --nm-warn:#d8552f;
  --nm-star:#e6a723;

  --nm-r:16px;
  --nm-r-lg:24px;
  --nm-r-sm:11px;
  --nm-maxw:1180px;
  --nm-shadow:0 30px 70px -34px rgba(14,23,18,.30);
  --nm-shadow-sm:0 14px 34px -20px rgba(14,23,18,.26);
  --nm-ease:cubic-bezier(.22,.7,.24,1);

  --nm-h:'Space Grotesk','Inter',system-ui,sans-serif;
  --nm-b:'Inter',system-ui,-apple-system,sans-serif;
}

/* ==========================================================
   2. Basis
   ========================================================== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--nm-b);font-size:16px;line-height:1.65;
  background:var(--nm-paper);color:var(--nm-ink);-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,h6{font-family:var(--nm-h);line-height:1.1;letter-spacing:-.02em;font-weight:600;margin:0 0 .5em;color:var(--nm-ink)}
h1{font-size:clamp(2.3rem,5vw,3.7rem);letter-spacing:-.03em}
h2{font-size:clamp(1.7rem,3.2vw,2.4rem)}
h3{font-size:1.2rem}
p{margin:0 0 1.1em}
a{color:var(--nm-accent);text-decoration:none;transition:color .2s var(--nm-ease)}
a:hover{color:var(--nm-accent-dark)}
img{max-width:100%;height:auto;display:block}
::selection{background:var(--nm-accent);color:#fff}
.nm-wrap{max-width:var(--nm-maxw);margin:0 auto;padding:0 24px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* eyebrow-label met streepje — terugkerend merkdetail */
.nm-eyebrow{display:inline-flex;align-items:center;gap:.6em;font-family:var(--nm-b);font-weight:600;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--nm-accent)}
.nm-eyebrow::before{content:"";width:26px;height:1.5px;background:var(--nm-accent);display:inline-block}

/* ==========================================================
   3. Knoppen
   ========================================================== */
.nm-btn,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce button.button.alt,
.woocommerce a.button.alt,.woocommerce input.button.alt,
.woocommerce-page a.button,button[type=submit],input[type=submit],
.wc-block-components-button{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  background:var(--nm-accent);color:#fff!important;font-family:var(--nm-b);font-weight:600;font-size:.94rem;
  padding:.82em 1.7em;border:1px solid var(--nm-accent);border-radius:999px;cursor:pointer;line-height:1.2;
  text-decoration:none;transition:transform .18s var(--nm-ease),background .2s,border-color .2s,box-shadow .2s;
}
.nm-btn:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce button.button.alt:hover,.woocommerce a.button.alt:hover,
button[type=submit]:hover,input[type=submit]:hover{
  background:var(--nm-accent-dark);border-color:var(--nm-accent-dark);color:#fff!important;
  transform:translateY(-2px);box-shadow:var(--nm-shadow-sm);
}
.nm-btn:active{transform:translateY(0)}
.nm-btn--ghost{background:transparent;color:var(--nm-ink)!important;border-color:var(--nm-line-strong)}
.nm-btn--ghost:hover{background:var(--nm-ink);color:#fff!important;border-color:var(--nm-ink)}
.nm-btn--light{background:#fff;color:var(--nm-accent)!important;border-color:#fff}
.nm-btn--light:hover{background:#fff;color:var(--nm-accent-dark)!important;transform:translateY(-2px)}
.nm-btn--sm{padding:.6em 1.15em;font-size:.86rem}
.nm-btn .nm-ico{width:1.05em;height:1.05em;transition:transform .2s var(--nm-ease)}
.nm-btn:hover .nm-ico{transform:translateX(3px)}

input[type=text],input[type=email],input[type=url],input[type=password],
input[type=search],input[type=tel],input[type=number],textarea,select,.woocommerce .input-text{
  font-family:inherit;font-size:.95rem;color:var(--nm-ink);background:#fff;
  border:1px solid var(--nm-line-strong);border-radius:var(--nm-r-sm);padding:.72em 1em;max-width:100%;
  transition:border-color .2s,box-shadow .2s;
}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--nm-accent);box-shadow:0 0 0 4px var(--nm-accent-soft)}

/* ==========================================================
   4. Header
   ========================================================== */
.nm-topbar{background:var(--nm-deep);color:#dcefe4;text-align:center;font-size:.82rem;font-weight:500;padding:9px 16px;letter-spacing:.01em}
.nm-topbar a{color:#fff;text-decoration:underline}
.nm-header{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--nm-line);transition:box-shadow .3s,padding .3s}
.nm-header.is-scrolled{box-shadow:0 10px 30px -18px rgba(14,23,18,.22)}
.nm-header__inner{display:flex;align-items:center;gap:26px;min-height:78px;transition:min-height .3s}
.nm-header.is-scrolled .nm-header__inner{min-height:66px}
.nm-logo{display:flex;align-items:center;gap:11px;font-family:var(--nm-h);font-weight:700;font-size:1.34rem;letter-spacing:-.03em;color:var(--nm-ink)}
.nm-logo:hover{color:var(--nm-ink)}
.nm-logo__mark{width:36px;height:36px;flex:none;border-radius:10px;background:var(--nm-accent);color:#fff;display:grid;place-items:center;font-size:1.15rem;font-weight:700;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}
.nm-logo img{max-height:46px;width:auto}
.nm-nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.nm-nav a{position:relative;color:var(--nm-ink-soft);font-weight:500;font-size:.94rem;padding:.5em 0}
.nm-nav a::after{content:"";position:absolute;left:0;bottom:.1em;width:0;height:2px;background:var(--nm-accent);border-radius:2px;transition:width .25s var(--nm-ease)}
.nm-nav a:hover,.nm-nav .current-menu-item>a{color:var(--nm-ink)}
.nm-nav a:hover::after,.nm-nav .current-menu-item>a::after{width:100%}
.nm-nav li{position:relative}
.nm-nav .sub-menu{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--nm-line);border-radius:var(--nm-r-sm);padding:8px;min-width:210px;box-shadow:var(--nm-shadow);flex-direction:column;z-index:99}
.nm-nav li:hover>.sub-menu{display:flex}
.nm-nav .sub-menu a{padding:.55em .9em;border-radius:8px}
.nm-nav .sub-menu a::after{display:none}
.nm-nav .sub-menu a:hover{background:var(--nm-soft)}
.nm-header__tools{margin-left:auto;display:flex;align-items:center;gap:12px}
.nm-search{display:flex;align-items:center;border:1px solid var(--nm-line-strong);border-radius:999px;overflow:hidden;background:#fff}
.nm-search input{border:0;border-radius:0;padding:.55em 1.1em;min-width:180px;font-size:.88rem}
.nm-search input:focus{box-shadow:none}
.nm-search button{border:0;background:transparent;color:var(--nm-mut);padding:0 .9em;cursor:pointer;display:flex}
.nm-search button:hover{color:var(--nm-accent)}
.nm-account{color:var(--nm-ink-soft);font-weight:600;font-size:.9rem}
.nm-account:hover{color:var(--nm-accent)}
.nm-cart{position:relative;display:inline-flex;align-items:center;gap:.4em;color:var(--nm-ink);font-weight:600;font-size:.9rem}
.nm-cart:hover{color:var(--nm-accent)}
.nm-cart .nm-ico{width:20px;height:20px}
.nm-cart__count{background:var(--nm-accent);color:#fff;font-size:.68rem;font-weight:700;min-width:19px;height:19px;border-radius:999px;display:grid;place-items:center;padding:0 5px}
.nm-menu-toggle{display:none;background:none;border:1px solid var(--nm-line-strong);border-radius:10px;padding:.4em .55em;cursor:pointer;color:var(--nm-ink)}
.nm-menu-toggle .nm-ico{width:22px;height:22px}

/* ==========================================================
   5. Hero
   ========================================================== */
.nm-hero{position:relative;overflow:hidden;padding:70px 0 60px}
.nm-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:
  radial-gradient(46% 46% at 86% 4%,rgba(31,161,95,.12),transparent 70%),
  radial-gradient(40% 40% at 4% 96%,rgba(21,122,69,.07),transparent 70%)}
.nm-hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background-image:linear-gradient(var(--nm-line) 1px,transparent 1px),linear-gradient(90deg,var(--nm-line) 1px,transparent 1px);
  background-size:46px 46px;opacity:.4;
  -webkit-mask:radial-gradient(64% 60% at 82% 26%,#000,transparent 72%);
  mask:radial-gradient(64% 60% at 82% 26%,#000,transparent 72%)}
.nm-hero__inner{display:grid;grid-template-columns:1.02fr .98fr;gap:52px;align-items:center}
.nm-hero h1{margin:20px 0 16px}
.nm-hero h1 span{color:var(--nm-accent)}
.nm-hero__sub{color:var(--nm-mut);max-width:480px;font-size:1.1rem}
.nm-hero__cta{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.nm-pill{display:inline-flex;align-items:center;gap:.5em;background:var(--nm-accent-soft);color:var(--nm-accent);font-weight:600;font-size:.82rem;padding:.5em 1.05em;border-radius:999px}
.nm-pill .nm-ico{width:16px;height:16px}

/* fotografische hero */
.nm-hero--photo{padding:96px 0 84px;color:#fff}
.nm-hero--photo::before,.nm-hero--photo::after{display:none}
.nm-hero__bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.nm-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 38%}
.nm-hero__bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(100deg,rgba(8,18,13,.86) 0%,rgba(8,18,13,.62) 44%,rgba(8,18,13,.18) 78%,rgba(8,18,13,.05) 100%),
  linear-gradient(0deg,rgba(8,18,13,.5) 0%,transparent 30%)}
.nm-hero--photo h1{color:#fff}
.nm-hero--photo h1 span{color:#7be0aa}
.nm-hero--photo .nm-hero__sub{color:rgba(255,255,255,.86)}
.nm-hero--photo .nm-pill{background:rgba(255,255,255,.14);backdrop-filter:blur(6px);color:#fff}
.nm-hero--photo .nm-btn--ghost{border-color:rgba(255,255,255,.45);color:#fff!important}
.nm-hero--photo .nm-btn--ghost:hover{background:#fff;color:var(--nm-ink)!important;border-color:#fff}
.nm-hero--photo .nm-hero-card{border-color:rgba(255,255,255,.16);box-shadow:0 44px 90px -36px rgba(0,0,0,.6)}

/* echte foto in kaarten */
.nm-prodimg--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* hero productkaart */
.nm-hero-card{position:relative;border-radius:var(--nm-r-lg);overflow:hidden;box-shadow:var(--nm-shadow);background:#fff;border:1px solid var(--nm-line)}
.nm-hero-card__media{position:relative;aspect-ratio:5/4}
.nm-hero-card__media .nm-prodimg,.nm-hero-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nm-hero-card__chip{position:absolute;top:16px;left:16px;z-index:3;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);color:var(--nm-ink);font-weight:600;font-size:.76rem;padding:.42em .85em;border-radius:999px;box-shadow:var(--nm-shadow-sm)}
.nm-hero-card__badge{position:absolute;top:16px;right:16px;z-index:3;background:var(--nm-warn);color:#fff;font-weight:700;font-size:.74rem;padding:.4em .8em;border-radius:999px}
.nm-hero-card__bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;background:#fff}
.nm-hero-card__bar .t{min-width:0}
.nm-hero-card__name{display:block;font-family:var(--nm-h);font-weight:600;font-size:1rem;line-height:1.25;color:var(--nm-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nm-hero-card__price{font-weight:700;color:var(--nm-accent)}
.nm-hero-card__price .nm-excl{color:var(--nm-mut);font-weight:400;font-size:.8rem}
.nm-hero-card__price del{color:var(--nm-mut);font-weight:400;margin-right:.35em}
.nm-hero-card__price ins{text-decoration:none}

/* ==========================================================
   6. Productbeeld-visual (gegenereerd)
   ========================================================== */
.nm-prodimg{position:relative;display:block;width:100%;aspect-ratio:1;overflow:hidden;background:var(--nm-deep)}
.nm-prodimg__bg{position:absolute;inset:0;width:100%;height:100%}
.nm-prodimg__icon{position:absolute;inset:0;display:grid;place-items:center}
.nm-prodimg__icon .nm-ico{width:34%;height:auto;color:rgba(255,255,255,.9);stroke-width:1.3}
.nm-single-visual .nm-prodimg{aspect-ratio:4/3;border-radius:var(--nm-r);border:1px solid var(--nm-line)}

/* ==========================================================
   7. Secties — algemeen ritme
   ========================================================== */
.nm-section{padding:64px 0}
.nm-section--alt{background:var(--nm-bg)}
.nm-section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:32px;flex-wrap:wrap}
.nm-section__head .t h2{margin:.35em 0 0}
.nm-section__head .nm-more{display:inline-flex;align-items:center;gap:.45em;font-weight:600;font-size:.9rem;color:var(--nm-ink)}
.nm-section__head .nm-more .nm-ico{width:1em;height:1em;transition:transform .2s var(--nm-ease)}
.nm-section__head .nm-more:hover{color:var(--nm-accent)}
.nm-section__head .nm-more:hover .nm-ico{transform:translateX(3px)}

/* sector-strip */
.nm-sectors{border-top:1px solid var(--nm-line);border-bottom:1px solid var(--nm-line);background:var(--nm-paper)}
.nm-sectors .nm-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;flex-wrap:wrap}
.nm-sectors .lbl{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--nm-mut);font-weight:600}
.nm-sectors ul{display:flex;gap:28px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.nm-sectors li{font-family:var(--nm-h);font-weight:600;color:var(--nm-ink-soft);font-size:1.02rem;letter-spacing:-.01em}

/* categorie-cards (beeld-voorop) */
.nm-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.nm-cat{position:relative;display:block;border-radius:var(--nm-r);overflow:hidden;aspect-ratio:3/4;color:#fff;isolation:isolate}
.nm-cat .nm-prodimg{position:absolute;inset:0;height:100%;aspect-ratio:auto;transition:transform .5s var(--nm-ease)}
.nm-cat:hover .nm-prodimg{transform:scale(1.05)}
.nm-cat::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 40%,rgba(8,20,14,.72))}
.nm-cat__body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:20px}
.nm-cat__body b{display:block;font-family:var(--nm-h);font-size:1.18rem;color:#fff}
.nm-cat__body span{font-size:.82rem;color:rgba(255,255,255,.8)}
.nm-cat__go{position:absolute;top:16px;right:16px;z-index:2;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.16);backdrop-filter:blur(4px);display:grid;place-items:center;color:#fff;transition:background .25s,transform .25s var(--nm-ease)}
.nm-cat:hover .nm-cat__go{background:var(--nm-accent);transform:translate(2px,-2px)}
.nm-cat__go .nm-ico{width:18px;height:18px}

/* ==========================================================
   8. Signatuur — zakelijk blok (diepgroen)
   ========================================================== */
.nm-signature{position:relative;overflow:hidden;border-radius:var(--nm-r-lg);background:linear-gradient(140deg,var(--nm-deep),var(--nm-deep-2));color:#fff;padding:52px}
.nm-signature::before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(40% 80% at 100% 0,rgba(31,161,95,.28),transparent 60%)}
.nm-signature__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.nm-signature .nm-eyebrow{color:#7be0aa}
.nm-signature .nm-eyebrow::before{background:#7be0aa}
.nm-signature h2{color:#fff;margin:16px 0 12px}
.nm-signature p{color:rgba(255,255,255,.82);max-width:440px;margin-bottom:24px}
.nm-signature__feats{display:grid;gap:12px}
.nm-signature__feat{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--nm-r-sm);padding:16px 18px}
.nm-signature__feat .nm-ico{width:26px;height:26px;color:#7be0aa;flex:none}
.nm-signature__feat b{display:block;font-family:var(--nm-h);font-weight:600;font-size:1rem}
.nm-signature__feat span{color:rgba(255,255,255,.7);font-size:.86rem}

/* ==========================================================
   9. USP-balk
   ========================================================== */
.nm-usps{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--nm-line);border-radius:var(--nm-r);overflow:hidden;background:#fff}
.nm-usp{padding:26px 22px;border-right:1px solid var(--nm-line);display:flex;flex-direction:column;gap:2px}
.nm-usp:last-child{border-right:0}
.nm-usp .nm-ico{width:26px;height:26px;color:var(--nm-accent);margin-bottom:10px}
.nm-usp b{font-family:var(--nm-h);font-weight:600}
.nm-usp span{color:var(--nm-mut);font-size:.85rem}

/* ==========================================================
   10. Footer
   ========================================================== */
.nm-footer{background:var(--nm-deep);color:#a9bcb0;margin-top:72px}
.nm-footer__top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:32px;padding:60px 0 40px}
.nm-footer__brand .nm-logo{color:#fff;margin-bottom:14px}
.nm-footer__brand .nm-logo__mark{background:var(--nm-accent-2)}
.nm-footer__brand p{max-width:280px;font-size:.92rem;color:#94a99d}
.nm-footer h4,.nm-footer .widget-title{color:#fff;font-family:var(--nm-h);font-size:.98rem;margin-bottom:16px;font-weight:600}
.nm-footer ul{list-style:none;margin:0;padding:0}
.nm-footer li{margin-bottom:10px;font-size:.9rem}
.nm-footer a{color:#a9bcb0}
.nm-footer a:hover{color:#fff}
.nm-footer__news p{font-size:.9rem;color:#94a99d;margin-bottom:14px}
.nm-footer__news form{display:flex;border:1px solid rgba(255,255,255,.16);border-radius:999px;overflow:hidden;background:rgba(255,255,255,.04)}
.nm-footer__news input{flex:1;min-width:0;border:0;background:transparent;color:#fff;padding:.7em 1em;font-size:.88rem}
.nm-footer__news input::placeholder{color:#7f9488}
.nm-footer__news input:focus{box-shadow:none}
.nm-footer__news button{border:0;background:var(--nm-accent);color:#fff;padding:0 1.1em;cursor:pointer;display:flex;align-items:center}
.nm-footer__news button .nm-ico{width:18px;height:18px}
.nm-footer__bar{border-top:1px solid rgba(255,255,255,.1)}
.nm-footer__bar .nm-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;flex-wrap:wrap;font-size:.82rem;color:#7f9488}
.nm-footer__badges{display:flex;gap:10px;flex-wrap:wrap}
.nm-footer__badges span{border:1px solid rgba(255,255,255,.16);border-radius:7px;padding:.3em .7em;font-size:.74rem;letter-spacing:.02em}

/* ==========================================================
   11. Content (pagina's / blog)
   ========================================================== */
.nm-content{padding:56px 0}
.nm-content--narrow .nm-wrap{max-width:800px}
.entry-content a{text-decoration:underline}
.entry-content h2,.entry-content h3{margin-top:1.5em}
.nm-page-title{margin-bottom:.5em}
.nm-post-card{border:1px solid var(--nm-line);border-radius:var(--nm-r);padding:30px;margin-bottom:20px;background:#fff;transition:box-shadow .25s,transform .25s var(--nm-ease)}
.nm-post-card:hover{box-shadow:var(--nm-shadow-sm);transform:translateY(-3px)}
.nm-post-card h2{font-size:1.4rem;margin-bottom:.3em}
.nm-post-meta{color:var(--nm-mut);font-size:.85rem;margin-bottom:.8em}
.nm-pagination{display:flex;gap:8px;justify-content:center;margin-top:30px}
.nm-pagination .page-numbers{border:1px solid var(--nm-line);border-radius:9px;min-width:38px;height:38px;display:inline-grid;place-items:center;padding:0 11px;color:var(--nm-ink);font-size:.9rem;background:#fff}
.nm-pagination .page-numbers.current{background:var(--nm-accent);color:#fff;border-color:var(--nm-accent)}

/* ==========================================================
   12. WooCommerce — shop (Grid: zijbalk + raster)
   ========================================================== */
.nm-shop{display:grid;grid-template-columns:256px 1fr;gap:30px;padding:32px 0 64px}
.nm-shop--full{display:block}
.nm-shop__side{align-self:start;position:sticky;top:104px}
.nm-shop__side .widget{background:#fff;border:1px solid var(--nm-line);border-radius:var(--nm-r-sm);padding:20px;margin-bottom:14px}
.nm-shop__side .widget-title,.nm-shop__side .wp-block-heading{font-family:var(--nm-h);font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--nm-mut);margin:0 0 14px}
.nm-shop__side ul{list-style:none;margin:0;padding:0}
.nm-shop__side li{padding:6px 0;font-size:.9rem}
.nm-shop__side a{color:var(--nm-ink-soft)}
.nm-shop__side a:hover{color:var(--nm-accent)}
.nm-shop-band{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--nm-deep),var(--nm-deep-2));color:#fff;border-radius:var(--nm-r);padding:32px 34px;margin-top:22px}
.nm-shop-band::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 120% at 100% 0,rgba(31,161,95,.3),transparent 60%)}
.nm-shop-band h1{position:relative;font-size:1.7rem;margin:0;color:#fff}
.nm-shop-band p{position:relative;opacity:.85;margin:.35em 0 0;font-size:.94rem}
.woocommerce-result-count{color:var(--nm-mut);font-size:.88rem;margin:0}
.woocommerce .woocommerce-ordering select{padding:.5em .9em}
.woocommerce-breadcrumb{color:var(--nm-mut);font-size:.85rem;margin:18px 0 0!important}
.woocommerce-breadcrumb a{color:var(--nm-mut)}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{margin-bottom:18px}

/* productkaarten */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,1fr);gap:20px;margin:0 0 1.5em;padding:0;list-style:none}
.woocommerce.columns-4 ul.products,.woocommerce ul.products.columns-4{grid-template-columns:repeat(4,1fr)}
.woocommerce ul.products li.product{position:relative;width:auto!important;float:none!important;margin:0!important;background:#fff;border:1px solid var(--nm-line);border-radius:var(--nm-r);overflow:hidden;display:flex;flex-direction:column;padding:0!important;text-align:left;transition:box-shadow .25s,border-color .25s,transform .25s var(--nm-ease)}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--nm-shadow);border-color:var(--nm-line-strong)}
.woocommerce ul.products li.product a{color:inherit}
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .nm-prodimg{width:100%;margin:0;aspect-ratio:1;object-fit:cover;background:var(--nm-soft);transition:transform .5s var(--nm-ease)}
.woocommerce ul.products li.product:hover .nm-prodimg,
.woocommerce ul.products li.product:hover a img{transform:scale(1.03)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--nm-h);font-size:.98rem;font-weight:600;padding:14px 16px 0;line-height:1.3;letter-spacing:-.01em}
.woocommerce ul.products li.product .price{color:var(--nm-ink);font-weight:700;font-size:1.06rem;padding:6px 16px 0;margin:0;font-family:var(--nm-h)}
.woocommerce ul.products li.product .price del{color:var(--nm-mut);font-weight:400;opacity:1;font-size:.85rem;margin-right:.3em}
.woocommerce ul.products li.product .price ins{text-decoration:none;color:var(--nm-accent)}
.woocommerce ul.products li.product .star-rating{margin:8px 16px 0;color:var(--nm-star);font-size:.72rem}
.woocommerce ul.products li.product .button{margin:14px 16px 16px;font-size:.86rem;padding:.68em 1.2em;align-self:flex-start}
.woocommerce ul.products li.product .added_to_cart{margin:0 16px 16px;font-size:.82rem;font-weight:600}
.woocommerce span.onsale{position:absolute;top:12px;left:12px;background:var(--nm-warn);color:#fff;font-weight:700;font-size:.72rem;min-height:0;min-width:0;line-height:1;padding:.45em .8em;border-radius:999px;margin:0!important;z-index:3}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:8px;justify-content:center}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border:1px solid var(--nm-line);border-radius:9px;min-width:38px;height:38px;display:grid;place-items:center;color:var(--nm-ink);background:#fff;padding:0}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--nm-accent);color:#fff;border-color:var(--nm-accent)}

/* productdetail */
.woocommerce div.product{margin-top:8px}
.woocommerce div.product .product_title{font-family:var(--nm-h);font-size:2rem}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--nm-accent);font-size:1.5rem;font-weight:700;font-family:var(--nm-h)}
.woocommerce div.product p.price del{color:var(--nm-mut);font-weight:400}
.woocommerce div.product p.price ins{text-decoration:none}
.woocommerce div.product div.images img{border-radius:var(--nm-r);border:1px solid var(--nm-line)}
.woocommerce div.product form.cart div.quantity .qty{padding:.66em .4em;border-radius:var(--nm-r-sm);border:1px solid var(--nm-line-strong);width:4.5em}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 1.4em;border:0}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-color:var(--nm-line)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:0;border-radius:0;margin:0 20px 0 0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:.9em 0;color:var(--nm-mut);font-weight:600;font-family:var(--nm-h)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--nm-accent);box-shadow:inset 0 -2px 0 var(--nm-accent)}
.woocommerce .related.products h2,.woocommerce .upsells.products h2{font-family:var(--nm-h);font-size:1.5rem;margin-bottom:1em}
.woocommerce .star-rating span::before,.woocommerce .star-rating::before{color:var(--nm-star)}
.woocommerce #review_form #respond .form-submit input{width:auto}
.woocommerce .product_meta{font-size:.85rem;color:var(--nm-mut)}

/* winkelwagen / afrekenen / account */
.woocommerce table.shop_table{border:1px solid var(--nm-line);border-radius:var(--nm-r-sm);border-collapse:separate;border-spacing:0;overflow:hidden}
.woocommerce table.shop_table th{background:var(--nm-soft);font-size:.85rem;font-family:var(--nm-h)}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{border-color:var(--nm-line);padding:14px 16px}
.woocommerce a.remove{color:var(--nm-warn)!important;border:1px solid var(--nm-line)}
.woocommerce a.remove:hover{background:var(--nm-warn);color:#fff!important}
.woocommerce .cart_totals h2,.woocommerce #order_review_heading{font-family:var(--nm-h);font-size:1.3rem}
.woocommerce-checkout #payment{background:var(--nm-soft);border-radius:var(--nm-r-sm)}
.woocommerce-checkout #payment div.payment_box{background:#fff}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#fff}
.woocommerce form .form-row label{font-size:.88rem;font-weight:600}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
.woocommerce-account .woocommerce-MyAccount-navigation li{border:1px solid var(--nm-line);border-radius:9px;margin-bottom:8px}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:.7em 1em;color:var(--nm-ink);font-weight:600;font-size:.9rem}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{color:var(--nm-accent)}

/* meldingen */
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-radius:var(--nm-r-sm);background:var(--nm-soft);color:var(--nm-ink);border-top:3px solid var(--nm-accent)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--nm-accent)}
.woocommerce-error{border-top-color:var(--nm-warn)}
.woocommerce-error::before{color:var(--nm-warn)}
.woocommerce-store-notice{background:var(--nm-accent)}
.woocommerce .widget_price_filter .ui-slider .ui-slider-range,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle{background-color:var(--nm-accent)}
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content{background-color:var(--nm-line)}
.wc-block-components-button{border-radius:999px!important}

/* ==========================================================
   12b. Bestellijst (B2B order form)
   ========================================================== */
.nm-ol{--ol-cols:60px minmax(0,1fr) 150px 92px 118px 128px 112px;display:block;margin:0 0 40px}
.nm-ol__tools{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:22px 0 14px}
.nm-ol__search{display:flex;align-items:center;gap:.6em;flex:1;min-width:240px;background:#fff;border:1px solid var(--nm-line-strong);border-radius:999px;padding:.15em 1.1em;color:var(--nm-mut)}
.nm-ol__search input{flex:1;border:0;background:transparent;padding:.7em 0;font-size:.95rem;min-width:0}
.nm-ol__search input:focus{outline:none;box-shadow:none}
.nm-ol__search:focus-within{border-color:var(--nm-accent);box-shadow:0 0 0 4px var(--nm-accent-soft)}
.nm-ol__found{color:var(--nm-mut);font-size:.88rem;font-weight:600;white-space:nowrap}
.nm-ol__pdf{display:inline-flex;align-items:center;gap:.5em;font-size:.88rem;font-weight:600;color:var(--nm-ink);background:#fff;border:1px solid var(--nm-line-strong);border-radius:999px;padding:.55em 1.1em;white-space:nowrap;transition:all .2s var(--nm-ease)}
.nm-ol__pdf:hover{background:var(--nm-accent);border-color:var(--nm-accent);color:#fff}
.nm-ol__pdf .nm-ico{width:18px;height:18px}

.nm-ol__chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.nm-ol__chips button{font-family:inherit;font-size:.85rem;font-weight:600;color:var(--nm-ink-soft);background:#fff;border:1px solid var(--nm-line-strong);border-radius:999px;padding:.5em 1.1em;cursor:pointer;transition:all .2s var(--nm-ease)}
.nm-ol__chips button:hover{border-color:var(--nm-ink)}
.nm-ol__chips button.is-on{background:var(--nm-accent);border-color:var(--nm-accent);color:#fff}

.nm-ol__head{display:grid;grid-template-columns:var(--ol-cols);gap:14px;align-items:center;padding:0 16px 10px;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--nm-mut);border-bottom:1px solid var(--nm-line)}
.nm-ol__head .nm-ol__c-price,.nm-ol__head .nm-ol__c-line{text-align:right}
.nm-ol__head .nm-ol__c-qty,.nm-ol__head .nm-ol__c-weight{text-align:center}
/* De regels hebben 7 kolommen (foto + naam), de kop 6 labels: "Product" overspant
   de foto- en naamkolom, anders schuiven alle koppen een kolom naar links. */
.nm-ol__head .nm-ol__c-prod{grid-column:1/3}

.nm-ol__rows{list-style:none;margin:0;padding:0;border:1px solid var(--nm-line);border-top:0;border-radius:0 0 var(--nm-r) var(--nm-r);overflow:hidden;background:#fff}
.nm-ol__row{display:grid;grid-template-columns:var(--ol-cols);gap:14px;align-items:center;padding:12px 16px;border-top:1px solid var(--nm-line);transition:background .18s}
.nm-ol__rows .nm-ol__row:first-child{border-top:0}
.nm-ol__row:hover{background:var(--nm-soft)}
.nm-ol__row.is-active{background:var(--nm-accent-soft);box-shadow:inset 3px 0 0 var(--nm-accent)}
.nm-ol__row.is-hidden{display:none}

/* hoofdstukkop in de lijst (zoals in de prijslijst) */
.nm-ol__group{display:block;grid-column:1/-1;padding:14px 16px;background:var(--nm-soft);border-top:1px solid var(--nm-line);font-family:var(--nm-h);font-weight:600;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--nm-ink-soft)}
.nm-ol__rows .nm-ol__group:first-child{border-top:0}
.nm-ol__group.is-hidden{display:none}

.nm-ol__media{display:block;width:60px;height:60px;border-radius:10px;overflow:hidden;border:1px solid var(--nm-line);background:var(--nm-soft);flex:none}
.nm-ol__media img,.nm-ol__media .nm-prodimg{width:100%;height:100%;object-fit:cover;aspect-ratio:1}
.nm-ol__media .nm-prodimg__icon .nm-ico{width:52%}

.nm-ol__name{min-width:0}
.nm-ol__name a{display:block;font-family:var(--nm-h);font-weight:600;font-size:.98rem;color:var(--nm-ink);line-height:1.3;letter-spacing:-.01em}
.nm-ol__name a:hover{color:var(--nm-accent)}
.nm-ol__cat{display:block;font-size:.78rem;color:var(--nm-mut);margin-top:2px}

.nm-ol__sku{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;color:var(--nm-mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nm-ol__weight{font-size:.85rem;color:var(--nm-mut);text-align:center;white-space:nowrap}
.nm-ol__price{text-align:right;font-weight:600;font-size:.98rem;white-space:nowrap}
.nm-ol__price del{color:var(--nm-mut);font-weight:400;font-size:.82rem;margin-right:.25em}
.nm-ol__price ins{text-decoration:none;color:var(--nm-accent)}

.nm-ol__qty{display:flex;align-items:center;justify-content:center;border:1px solid var(--nm-line-strong);border-radius:999px;overflow:hidden;background:#fff;height:40px}
.nm-ol__step{width:36px;height:100%;border:0;background:transparent;color:var(--nm-ink);font-size:1.15rem;line-height:1;cursor:pointer;transition:background .15s,color .15s;flex:none}
.nm-ol__step:hover{background:var(--nm-accent);color:#fff}
.nm-ol__qty input{width:44px;border:0;border-radius:0;text-align:center;font-family:var(--nm-h);font-weight:600;font-size:.98rem;padding:0;background:transparent;-moz-appearance:textfield}
.nm-ol__qty input::-webkit-outer-spin-button,.nm-ol__qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.nm-ol__qty input:focus{outline:none;box-shadow:none}
.nm-ol__row.is-active .nm-ol__qty{border-color:var(--nm-accent)}

.nm-ol__line{text-align:right;font-family:var(--nm-h);font-weight:700;font-size:.98rem;color:var(--nm-mut);white-space:nowrap}
.nm-ol__row.is-active .nm-ol__line{color:var(--nm-accent)}
.nm-ol__empty{padding:30px 0;color:var(--nm-mut)}

/* technische handleiding op de productpagina */
.nm-datasheet{margin:0 0 1em}
.nm-datasheet a{display:inline-flex;align-items:center;gap:.55em;font-weight:600;font-size:.92rem;border:1px solid var(--nm-line-strong);border-radius:999px;padding:.6em 1.2em;color:var(--nm-ink)}
.nm-datasheet a:hover{border-color:var(--nm-accent);color:var(--nm-accent)}
.nm-datasheet .nm-ico{color:var(--nm-accent)}

/* sticky actiebalk */
.nm-ol__bar{position:sticky;bottom:16px;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:18px;padding:16px 22px;background:var(--nm-deep);color:#fff;border-radius:999px;box-shadow:0 22px 50px -22px rgba(13,42,30,.7)}
.nm-ol__sum{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.nm-ol__sum strong{font-family:var(--nm-h);font-size:1.3rem}
.nm-ol__sum span{font-size:.82rem;color:rgba(255,255,255,.72)}
.nm-ol__bar .nm-btn{background:#fff;color:var(--nm-deep)!important;border-color:#fff}
.nm-ol__bar .nm-btn:hover{background:var(--nm-accent);color:#fff!important;border-color:var(--nm-accent)}
.nm-ol__bar.is-empty .nm-btn{opacity:.45;pointer-events:none}

@media (max-width:1080px){
  .nm-ol{--ol-cols:56px minmax(0,1fr) 104px 124px 104px}
  .nm-ol__head .nm-ol__c-sku,.nm-ol__head .nm-ol__c-weight,
  .nm-ol__sku,.nm-ol__weight{display:none}
}
@media (max-width:720px){
  .nm-ol__head{display:none}
  .nm-ol__row{
    grid-template-columns:52px minmax(0,1fr) auto;
    grid-template-areas:"media name price" "qty qty line";
    row-gap:12px;padding:14px}
  .nm-ol__media{grid-area:media;width:52px;height:52px}
  .nm-ol__name{grid-area:name}
  .nm-ol__price{grid-area:price;align-self:start}
  .nm-ol__qty{grid-area:qty;justify-self:start}
  .nm-ol__line{grid-area:line;align-self:center}
  .nm-ol__bar{border-radius:var(--nm-r);bottom:10px;padding:14px 18px}
  .nm-ol__bar .nm-btn{flex:1;justify-content:center}
}

/* ==========================================================
   13. Reveal-animatie
   ========================================================== */
.nm-reveal{opacity:0;transform:translateY(18px);transition:opacity .6s var(--nm-ease),transform .6s var(--nm-ease)}
.nm-reveal.is-in{opacity:1;transform:none}

/* ==========================================================
   14. Responsief
   ========================================================== */
@media (max-width:1020px){
  .woocommerce ul.products,.woocommerce ul.products.columns-4{grid-template-columns:repeat(3,1fr)}
  .nm-footer__top{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .nm-hero__inner{grid-template-columns:1fr;gap:36px}
  .nm-signature__grid{grid-template-columns:1fr;gap:28px}
  .nm-cats{grid-template-columns:repeat(2,1fr)}
  .nm-usps{grid-template-columns:repeat(2,1fr)}
  .nm-usp:nth-child(2){border-right:0}
  .nm-usp:nth-child(1),.nm-usp:nth-child(2){border-bottom:1px solid var(--nm-line)}
  .nm-shop{grid-template-columns:1fr}
  .nm-shop__side{position:static;order:2}
  .woocommerce ul.products,.woocommerce ul.products.columns-4{grid-template-columns:repeat(2,1fr)}
  .nm-search{display:none}
  .nm-menu-toggle{display:inline-flex}
  .nm-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--nm-line);padding:14px 24px 20px;box-shadow:var(--nm-shadow)}
  .nm-nav.is-open{display:block}
  .nm-nav ul{flex-direction:column;gap:2px}
  .nm-nav a{display:block;padding:.6em 0;font-size:1rem}
  .nm-nav a::after{display:none}
  .nm-nav .sub-menu{position:static;border:0;box-shadow:none;padding:0 0 0 16px}
  .nm-signature{padding:38px}
}
@media (max-width:560px){
  .nm-cats{grid-template-columns:1fr 1fr}
  .nm-usps{grid-template-columns:1fr}
  .nm-usp{border-right:0;border-bottom:1px solid var(--nm-line)}
  .nm-usp:last-child{border-bottom:0}
  .woocommerce ul.products,.woocommerce ul.products.columns-4{grid-template-columns:1fr 1fr}
  .nm-account{display:none}
  .nm-sectors ul{gap:16px}
  .nm-footer__top{grid-template-columns:1fr}
  .nm-section{padding:48px 0}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto}
  .nm-reveal{opacity:1;transform:none}
}
