/* ============================================================
   NIE MEER LAUW â€” Platform huisstijl (prototype)
   Kleuren en vormen volgens NieMeerLauw Brandbook:
   ijsblauw #72C7D1 Â· donkerblauw #132D46 Â· oranje #F7941D Â· crÃ¨me #FAF3E0
   Koppen: Montserrat â€” Body: Open Sans â€” afgeronde vormen, veel witruimte
   ============================================================ */

.nmlx{
  --ijsblauw:#72C7D1;
  --ijsblauw-licht:#DBF0F3;
  --ijsblauw-zacht:#EFF9FA;
  --donker:#132D46;
  --donker-zacht:#3A5570;
  --oranje:#F7941D;
  --oranje-donker:#DB7F0D;
  --creme:#FAF3E0;
  --wit:#FFFFFF;
  --groen:#3FA66A;
  --rood:#D9534F;
  --schaduw:0 10px 30px rgba(19,45,70,.10);
  --schaduw-zwaar:0 18px 50px rgba(19,45,70,.16);
  --radius:22px;
  --radius-klein:12px;
  --font-kop:"Montserrat","Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-body:"Open Sans","Lato",system-ui,-apple-system,"Segoe UI",sans-serif;
}

*{ box-sizing:border-box; margin:0; padding:0; }
.nmlx{ scroll-behavior:smooth; }
.nmlx{
  font-family:var(--font-body);
  color:var(--donker);
  background:var(--creme);
  line-height:1.65;
  font-size:17px;
}
.nmlx img{ max-width:100%; display:block; }
.nmlx a{ color:inherit; }

.nmlx h1, .nmlx h2, .nmlx h3, .nmlx h4{ font-family:var(--font-kop); font-weight:800; line-height:1.15; }
.nmlx h1{ font-size:clamp(2.1rem,4.5vw,3.4rem); }
.nmlx h2{ font-size:clamp(1.6rem,3vw,2.3rem); }
.nmlx h3{ font-size:1.25rem; }

.nmlx .container{ width:min(1140px,92%); margin:0 auto; }
.nmlx .sectie{ padding:72px 0; }
.nmlx .sectie--blauw{ background:var(--ijsblauw-zacht); }
.nmlx .sectie--donker{ background:var(--donker); color:var(--wit); }
.nmlx .sectie--wit{ background:var(--wit); }
.nmlx .center{ text-align:center; }

.nmlx .kicker{
  display:inline-block; font-family:var(--font-kop); font-weight:700;
  font-size:.82rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--oranje); margin-bottom:10px;
}
.nmlx .sub{ color:var(--donker-zacht); max-width:640px; margin:14px auto 0; }
.nmlx .sectie--donker .sub{ color:#C6D4E2; }

/* ---------- Demo-banner (niet live!) ---------- */
.nmlx .demo-banner{
  background:var(--donker); color:var(--wit); text-align:center;
  font-size:.82rem; padding:7px 12px; letter-spacing:.02em;
}
.nmlx .demo-banner strong{ color:var(--ijsblauw); }

/* ---------- Navigatie (ijsblauw, zoals de huidige site) ---------- */
.nmlx .nav{
  position:sticky; top:0; z-index:50;
  background:var(--ijsblauw);
  box-shadow:0 2px 14px rgba(19,45,70,.14);
}
.nmlx .nav-inner{
  display:flex; align-items:center; gap:18px;
  width:min(1260px,96%); margin:0 auto; padding:10px 0;
}
.nmlx .nav-logo{ display:flex; align-items:center; gap:12px; text-decoration:none; flex-shrink:0; }
.nmlx .nav-logo img{ height:52px; width:52px; object-fit:cover; border-radius:50%; }
.nmlx .nav-logo span{
  font-family:var(--font-kop); font-weight:800; font-size:1.1rem; color:var(--wit);
  text-shadow:0 1px 2px rgba(19,45,70,.15);
}
.nmlx .nav-links{ display:flex; gap:15px; margin-left:auto; align-items:center; list-style:none; }
.nmlx .nav-links a{
  text-decoration:none; font-weight:700; font-size:.9rem; color:var(--wit);
  padding:6px 2px; letter-spacing:.02em;
  text-shadow:0 1px 2px rgba(19,45,70,.12); white-space:nowrap;
}
.nmlx .nav-links a:hover, .nmlx .nav-links a.actief{ color:var(--donker); text-shadow:none; }
.nmlx .nav-burger{ display:none; background:none; border:none; font-size:1.7rem; color:var(--wit); cursor:pointer; }

/* contact-iconen + winkelwagen in de balk (zoals de huidige site) */
.nmlx .nav-acties{ display:flex; align-items:center; gap:12px; flex-shrink:0; }
.nmlx .nav-icoon{
  color:var(--wit); text-decoration:none; font-size:1.25rem; line-height:1;
  display:flex; align-items:center; justify-content:center; width:36px; height:36px;
  border-radius:50%; transition:background .15s ease;
}
.nmlx .nav-icoon:hover{ background:rgba(255,255,255,.25); }
.nmlx .nav-mandje{
  display:flex; align-items:center; gap:8px; text-decoration:none;
  background:var(--wit); color:var(--donker); font-family:var(--font-kop);
  font-weight:700; font-size:.82rem; padding:9px 16px; border-radius:10px;
  box-shadow:0 3px 10px rgba(19,45,70,.15); position:relative; white-space:nowrap;
}
.nmlx .nav-mandje:hover{ background:var(--creme); }
.nmlx .nav-mand-badge{
  position:absolute; top:-8px; right:-8px; background:var(--oranje); color:var(--wit);
  border-radius:50%; min-width:22px; height:22px; display:flex; align-items:center;
  justify-content:center; font-size:.72rem; font-weight:800;
}

/* ---------- Knoppen ---------- */
.nmlx .knop{
  display:inline-block; font-family:var(--font-kop); font-weight:700;
  background:var(--oranje); color:var(--wit) !important; text-decoration:none;
  padding:14px 30px; border-radius:999px; border:none; cursor:pointer;
  font-size:1rem; box-shadow:0 6px 18px rgba(247,148,29,.35);
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.nmlx .knop:hover{ background:var(--oranje-donker); transform:translateY(-2px); box-shadow:0 10px 24px rgba(247,148,29,.4); }
.nmlx .knop--groot{ padding:17px 38px; font-size:1.1rem; }
.nmlx .knop--wit{ background:var(--wit); color:var(--donker) !important; box-shadow:0 6px 18px rgba(19,45,70,.15); }
.nmlx .knop--wit:hover{ background:var(--ijsblauw-licht); }
.nmlx .knop--lijn{
  background:transparent; color:var(--donker) !important;
  border:2px solid var(--donker); box-shadow:none;
}
.nmlx .knop--lijn:hover{ background:var(--donker); color:var(--wit) !important; }
.nmlx .knop:disabled{ opacity:.45; cursor:not-allowed; transform:none; }

/* ---------- Hero ---------- */
.nmlx .hero{ position:relative; overflow:hidden; background:var(--creme); }
.nmlx .hero-inner{
  display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center;
  width:min(1140px,92%); margin:0 auto; padding:64px 0 84px;
}
.nmlx .hero h1 .accent{ color:var(--oranje); }
.nmlx .hero p.lead{ font-size:1.15rem; color:var(--donker-zacht); margin:18px 0 28px; max-width:520px; }
.nmlx .hero-foto{ position:relative; }
.nmlx .hero-foto img{
  border-radius:var(--radius); box-shadow:var(--schaduw-zwaar);
  aspect-ratio:4/3; object-fit:cover;
}
.nmlx .hero-badge{
  position:absolute; bottom:-18px; left:-18px;
  background:var(--wit); border-radius:var(--radius-klein);
  box-shadow:var(--schaduw); padding:12px 18px;
  font-family:var(--font-kop); font-weight:700; font-size:.9rem;
}
.nmlx .hero-badge span{ color:var(--oranje); }
.nmlx .hero-blob{
  position:absolute; border-radius:50%; background:var(--ijsblauw); opacity:.16; z-index:0;
}

/* ---------- Postcode-zoeker ---------- */
.nmlx .zoeker{
  display:flex; gap:10px; background:var(--wit); border-radius:999px;
  box-shadow:var(--schaduw); padding:8px; max-width:460px;
}
.nmlx .zoeker input{
  flex:1; border:none; outline:none; background:transparent;
  font-size:1.05rem; font-family:var(--font-body); padding:8px 8px 8px 18px;
  color:var(--donker); min-width:0;
}
.nmlx .zoeker .knop{ padding:12px 26px; white-space:nowrap; }
.nmlx .zoeker-hint{ font-size:.85rem; color:var(--donker-zacht); margin-top:10px; }
.nmlx .zoeker-hint a{ color:var(--oranje); font-weight:600; cursor:pointer; text-decoration:none; }
.nmlx .zoeker-hint a:hover{ text-decoration:underline; }

/* ---------- USP-strip ---------- */
.nmlx .usp-strip{
  display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
  margin-top:-42px; position:relative; z-index:5;
}
.nmlx .usp{
  background:var(--wit); border-radius:var(--radius-klein);
  box-shadow:var(--schaduw); padding:18px 20px;
  display:flex; align-items:center; gap:14px; font-weight:600; font-size:.95rem;
}
.nmlx .usp .emoji{ font-size:1.6rem; }

/* ---------- Kaarten ---------- */
.nmlx .kaarten{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin-top:44px; }
.nmlx .kaarten--2{ grid-template-columns:repeat(2,minmax(0,1fr)); max-width:820px; margin-left:auto; margin-right:auto; }
.nmlx #pijn-kaarten{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.nmlx .kaart{
  background:var(--wit); border-radius:var(--radius); box-shadow:var(--schaduw);
  padding:30px; transition:transform .18s ease, box-shadow .18s ease;
}
.nmlx .kaart:hover{ transform:translateY(-4px); box-shadow:var(--schaduw-zwaar); }
.nmlx .kaart .icoon{
  width:74px; height:74px; border-radius:20px; background:var(--ijsblauw-licht);
  display:flex; align-items:center; justify-content:center; margin-bottom:18px;
}
.nmlx .kaart .icoon img{ width:52px; height:52px; object-fit:contain; }
.nmlx .kaart h3{ margin-bottom:8px; }
.nmlx .kaart p{ color:var(--donker-zacht); font-size:.95rem; }

/* ---------- Stappen ---------- */
.nmlx .stappen{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; margin-top:44px; }
.nmlx .stap{ text-align:center; padding:0 6px; }
.nmlx .stap .nummer{
  width:54px; height:54px; margin:0 auto 14px; border-radius:50%;
  background:var(--oranje); color:var(--wit); font-family:var(--font-kop);
  font-weight:800; font-size:1.3rem; display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 16px rgba(247,148,29,.35);
}
.nmlx .stap h4{ font-size:1rem; margin-bottom:6px; }
.nmlx .stap p{ font-size:.85rem; color:var(--donker-zacht); }

/* ---------- Partnerresultaten ---------- */
.nmlx .partner-lijst{ display:grid; gap:18px; margin-top:30px; }
.nmlx .partner-kaart{
  background:var(--wit); border-radius:var(--radius); box-shadow:var(--schaduw);
  padding:24px 28px; display:grid; grid-template-columns:1fr auto; gap:18px; align-items:center;
  border:2px solid transparent; transition:border .15s ease;
}
.nmlx .partner-kaart:hover{ border-color:var(--ijsblauw); }
.nmlx .partner-kaart.founder{ border-color:var(--oranje); }
.nmlx .partner-naam{ font-family:var(--font-kop); font-weight:800; font-size:1.15rem; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.nmlx .partner-meta{ color:var(--donker-zacht); font-size:.9rem; margin-top:4px; }
.nmlx .partner-bio{ font-size:.92rem; margin-top:8px; color:var(--donker-zacht); max-width:560px; }
.nmlx .partner-prijs{ text-align:right; }
.nmlx .partner-prijs .bedrag{ font-family:var(--font-kop); font-weight:800; font-size:1.5rem; }
.nmlx .partner-prijs .per{ font-size:.8rem; color:var(--donker-zacht); }
.nmlx .badge{
  display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.05em;
  padding:4px 12px; border-radius:999px; text-transform:uppercase;
}
.nmlx .badge--oranje{ background:#FDEBD3; color:var(--oranje-donker); }
.nmlx .badge--blauw{ background:var(--ijsblauw-licht); color:#2A7A85; }
.nmlx .badge--groen{ background:#E1F3E8; color:var(--groen); }
.nmlx .badge--grijs{ background:#ECEFF3; color:var(--donker-zacht); }
.nmlx .badge--rood{ background:#FBE4E3; color:var(--rood); }
.nmlx .ster{ color:var(--oranje); }

/* ---------- Boekingsflow ---------- */
.nmlx .flow-stappen{
  display:flex; gap:8px; justify-content:center; margin:26px 0 34px; flex-wrap:wrap;
}
.nmlx .flow-stap{
  font-family:var(--font-kop); font-weight:700; font-size:.82rem;
  padding:8px 18px; border-radius:999px; background:var(--wit);
  color:var(--donker-zacht); box-shadow:var(--schaduw); white-space:nowrap;
}
.nmlx .flow-stap.actief{ background:var(--donker); color:var(--wit); }
.nmlx .flow-stap.klaar{ background:var(--ijsblauw-licht); color:#2A7A85; }

.nmlx .paneel{
  background:var(--wit); border-radius:var(--radius); box-shadow:var(--schaduw);
  padding:34px; max-width:860px; margin:0 auto;
}

/* ---------- Kalender ---------- */
.nmlx .kalender{ user-select:none; }
.nmlx .kalender-kop{
  display:flex; align-items:center; justify-content:space-between; margin-bottom:14px;
}
.nmlx .kalender-kop h3{ font-size:1.1rem; }
.nmlx .kalender-kop button{
  background:var(--ijsblauw-licht); border:none; border-radius:10px;
  width:40px; height:40px; font-size:1.2rem; cursor:pointer; color:var(--donker); font-weight:700;
}
.nmlx .kalender-kop button:hover{ background:var(--ijsblauw); color:var(--wit); }
.nmlx .kalender-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }
.nmlx .kalender-grid .dagnaam{
  text-align:center; font-size:.75rem; font-weight:700; color:var(--donker-zacht);
  text-transform:uppercase; padding-bottom:4px;
}
/* Kalender-dagen â€” kleuren & halve-dag-driehoeken zoals de huidige live boekingsplugin */
.nmlx .dag{
  aspect-ratio:1; display:flex; align-items:center; justify-content:center;
  border-radius:12px; font-size:.95rem; font-weight:600; cursor:pointer;
  background:#F6FCFD; border:2px solid #C4E6EC; position:relative; color:var(--donker);
}
.nmlx .dag:hover{ border-color:var(--ijsblauw); }
.nmlx .dag.leeg{ background:transparent; border:none; cursor:default; }
.nmlx .dag.geblokkeerd{ background:#F5B8C0; border-color:#F5B8C0; color:#7E3B46; cursor:not-allowed; }
.nmlx .dag.half-pm{ background:linear-gradient(225deg, #F5B8C0 49.5%, #F6FCFD 50.5%); }  /* avond al bezet â†’ rechterbovenhelft */
.nmlx .dag.half-am{ background:linear-gradient(45deg, #F5B8C0 49.5%, #F6FCFD 50.5%); }   /* ochtend al bezet â†’ linkeronderhelft */
.nmlx .dag.verleden{ background:transparent; border-color:#EDF1F4; color:#C9CFD6; cursor:not-allowed; }
.nmlx .dag.gekozen, .nmlx .dag.in-range{ background:#4DB9B4; border-color:#4DB9B4; color:var(--wit); }
.nmlx .dag.dag-voor{ background:linear-gradient(225deg, #4DB9B4 49.5%, #F6FCFD 50.5%); } /* ophalen avond ervoor â†’ rechterbovenhelft */
.nmlx .dag.dag-na{ background:linear-gradient(45deg, #4DB9B4 49.5%, #F6FCFD 50.5%); }    /* retour ochtend erna â†’ linkeronderhelft */
/* combinatie: andermans halve dag + jouw halve dag â†’ half roze, half teal (zo zie je dat het aansluit) */
.nmlx .dag.half-am.dag-voor{ background:linear-gradient(225deg, #4DB9B4 49.5%, transparent 50.5%), linear-gradient(45deg, #F5B8C0 49.5%, #F6FCFD 50.5%); }
.nmlx .dag.half-pm.dag-na{ background:linear-gradient(45deg, #4DB9B4 49.5%, transparent 50.5%), linear-gradient(225deg, #F5B8C0 49.5%, #F6FCFD 50.5%); }
.nmlx .kalender-legenda{
  display:flex; gap:18px; margin-top:14px; font-size:.8rem; color:var(--donker-zacht); flex-wrap:wrap;
}
.nmlx .kalender-legenda span{ display:flex; align-items:center; gap:6px; }
.nmlx .bolletje{ width:12px; height:12px; border-radius:4px; display:inline-block; }

/* ---------- Formulieren ---------- */
.nmlx .veld{ margin-bottom:18px; }
.nmlx .veld label{ display:block; font-weight:700; font-size:.9rem; margin-bottom:6px; font-family:var(--font-kop); }
.nmlx .veld input, .nmlx .veld select, .nmlx .veld textarea{
  width:100%; padding:13px 16px; border:2px solid #E3E8EE; border-radius:var(--radius-klein);
  font-family:var(--font-body); font-size:1rem; color:var(--donker); background:var(--wit);
  outline:none; transition:border .15s ease;
}
.nmlx .veld input:focus, .nmlx .veld select:focus, .nmlx .veld textarea:focus{ border-color:var(--ijsblauw); }
.nmlx .veld .toelichting{ font-size:.8rem; color:var(--donker-zacht); margin-top:4px; }
.nmlx .check{
  display:flex; gap:12px; align-items:flex-start; background:var(--ijsblauw-zacht);
  padding:14px 16px; border-radius:var(--radius-klein); margin-bottom:12px; cursor:pointer;
}
.nmlx .check input{ width:20px; height:20px; margin-top:3px; accent-color:var(--oranje); flex-shrink:0; }
.nmlx .check .prijs{ margin-left:auto; font-weight:700; font-family:var(--font-kop); white-space:nowrap; }
.nmlx .form-rij{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }

/* ---------- Offerte / bon ---------- */
.nmlx .bon{ background:var(--ijsblauw-zacht); border-radius:var(--radius-klein); padding:22px 24px; }
.nmlx .bon-regel{ display:flex; justify-content:space-between; gap:14px; font-size:.95rem; padding:5px 0; }
.nmlx .bon-regel span:last-child{ text-align:right; }
.nmlx .bon-regel.totaal{
  border-top:2px solid var(--donker); margin-top:10px; padding-top:12px;
  font-family:var(--font-kop); font-weight:800; font-size:1.15rem;
}
.nmlx .bon-regel.commissie{ color:var(--donker-zacht); font-size:.82rem; }

/* ---------- Regio-grid ---------- */
.nmlx .regio-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:36px; }
.nmlx .regio-link{
  background:var(--wit); border-radius:var(--radius-klein); box-shadow:var(--schaduw);
  padding:16px 18px; text-decoration:none; font-weight:600; font-size:.92rem;
  display:flex; justify-content:space-between; align-items:center;
  transition:transform .15s ease;
}
.nmlx .regio-link:hover{ transform:translateY(-3px); color:var(--oranje-donker); }
.nmlx .regio-link .pijl{ color:var(--oranje); font-weight:800; }
.nmlx .regio-link .aantal{ font-size:.75rem; color:var(--donker-zacht); display:block; font-weight:400; }

/* ---------- Reviews ---------- */
.nmlx .reviews{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:44px; }
.nmlx .review{
  background:var(--wit); border-radius:var(--radius); box-shadow:var(--schaduw); padding:28px;
}
.nmlx .review .sterren{ color:var(--oranje); font-size:1.1rem; letter-spacing:2px; margin-bottom:12px; }
.nmlx .review p{ font-size:.95rem; font-style:italic; color:var(--donker-zacht); }
.nmlx .review .naam{ margin-top:14px; font-weight:700; font-style:normal; font-family:var(--font-kop); font-size:.9rem; color:var(--donker); }

/* ---------- Duo (tekst + foto) ---------- */
.nmlx .duo{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.nmlx .duo-foto img{ border-radius:var(--radius); box-shadow:var(--schaduw-zwaar); object-fit:cover; width:100%; }
.nmlx .duo ul.vinkjes{ list-style:none; margin-top:18px; }
.nmlx .duo ul.vinkjes li{ padding:7px 0 7px 34px; position:relative; }
.nmlx .duo ul.vinkjes li::before{
  content:"\2713"; position:absolute; left:0; top:7px; width:24px; height:24px;
  background:var(--ijsblauw-licht); color:#2A7A85; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:.85rem;
}

/* ---------- CTA-band ---------- */
.nmlx .cta-band{
  background:linear-gradient(120deg, var(--donker) 0%, #1D4066 100%);
  border-radius:var(--radius); padding:56px; text-align:center; color:var(--wit);
  position:relative; overflow:hidden;
}
.nmlx .cta-band h2{ margin-bottom:12px; }
.nmlx .cta-band p{ color:#C6D4E2; max-width:560px; margin:0 auto 28px; }
.nmlx .cta-band .sneeuw{ position:absolute; font-size:5rem; opacity:.08; }

/* ---------- Footer ---------- */
.nmlx footer{ background:var(--donker); color:#C6D4E2; padding:56px 0 28px; margin-top:0; }
.nmlx .footer-grid{ display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:36px; }
.nmlx footer h4{ color:var(--wit); margin-bottom:14px; font-size:1rem; }
.nmlx footer a{ color:#C6D4E2; text-decoration:none; display:block; padding:3px 0; font-size:.92rem; }
.nmlx footer a:hover{ color:var(--ijsblauw); }
.nmlx .footer-onder{
  border-top:1px solid rgba(255,255,255,.12); margin-top:40px; padding-top:20px;
  font-size:.8rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
}
.nmlx .footer-logo{ display:flex; gap:12px; align-items:center; margin-bottom:14px; }
.nmlx .footer-logo img{ height:46px; width:46px; border-radius:50%; object-fit:cover; }
.nmlx .footer-logo span{ font-family:var(--font-kop); font-weight:800; color:var(--wit); font-size:1.05rem; }

/* ---------- Animaties ---------- */
@keyframes fadeUp{ from{ opacity:0; transform:translateY(22px);} to{ opacity:1; transform:translateY(0);} }
.reveal{ opacity:0; }
.reveal.zichtbaar{ animation:fadeUp .6s ease forwards; }

/* ---------- Melding ---------- */
.melding{
  padding:14px 18px; border-radius:var(--radius-klein); font-size:.95rem; margin:14px 0;
}
.nmlx .melding--info{ background:var(--ijsblauw-licht); color:#20616B; }
.nmlx .melding--succes{ background:#E1F3E8; color:#2C7A4B; }
.nmlx .melding--fout{ background:#FBE4E3; color:#A33835; }

/* ---------- Responsief ---------- */
@media (max-width: 900px){
.nmlx .stap3-grid{ grid-template-columns:1fr !important; }
.nmlx .hero-inner{ grid-template-columns:1fr; padding:40px 0 64px; }
.nmlx .usp-strip{ grid-template-columns:1fr 1fr; margin-top:24px; }
.nmlx .kaarten{ grid-template-columns:1fr; }
.nmlx .stappen{ grid-template-columns:repeat(2,1fr); }
.nmlx .duo{ grid-template-columns:1fr; gap:32px; }
.nmlx .regio-grid{ grid-template-columns:1fr 1fr; }
.nmlx .reviews{ grid-template-columns:1fr; }
.nmlx .footer-grid{ grid-template-columns:1fr 1fr; }
.nmlx .form-rij{ grid-template-columns:1fr; }
.nmlx .partner-kaart{ grid-template-columns:1fr; }
.nmlx .partner-prijs{ text-align:left; }
.nmlx .nav-links{
    display:none; position:absolute; top:100%; left:0; right:0;
    background:var(--ijsblauw); flex-direction:column; padding:18px 26px; gap:14px;
    box-shadow:var(--schaduw); align-items:flex-start; border-bottom:4px solid var(--donker);
  }
.nmlx .nav-links.open{ display:flex; }
.nmlx .nav-burger{ display:block; margin-left:auto; }
.nmlx .nav-inner{ gap:10px; }
.nmlx .nav-icoon{ display:none; }
.nmlx .nav-mandje{ padding:8px 12px; font-size:.75rem; }
.nmlx .nav-mandje .mand-woord{ display:none; }
.nmlx .nav-logo span{ display:none; }
.nmlx .kaarten--2{ grid-template-columns:1fr; }
.nmlx #pijn-kaarten{ grid-template-columns:1fr 1fr; }
.nmlx .paneel{ padding:22px; }
.nmlx .sectie{ padding:52px 0; }
.nmlx .hero .knop--groot{ width:100%; box-sizing:border-box; }
.nmlx .knop-sub{ display:none; }
.nmlx .hero p.lead{ font-size:1.02rem; }
.nmlx .cta-band{ padding:36px 22px; }
.nmlx .cta-band a.knop{ display:block; margin:12px auto 0 !important; max-width:340px; }
.nmlx .artikel table{ display:block; overflow-x:auto; }
.nmlx .duo-foto img{ max-height:340px; object-fit:cover; }
}


.nmlx .reveal{opacity:1 !important;animation:none !important;}
.nmlx{font-size:17px;line-height:1.65;color:#132D46;}


/* ============================================================
   NML v11 â€” footer, winkel, blogarchief, drankcalculator
   (ongescoped: geldt buiten .nmlx, voor Flatsome-onderdelen)
   ============================================================ */

/* ---------- Footer in concept-stijl (donkerblauw) ---------- */
#footer .footer-widgets{ background:#132D46 !important; color:#C6D4E2; padding-top:52px; padding-bottom:22px; }
#footer .footer-widgets .widget-title{
  font-family:'Montserrat',sans-serif; font-weight:800; font-size:1rem;
  color:#FFFFFF !important; text-transform:none; letter-spacing:.01em;
}
#footer .footer-widgets .is-divider{ background:#F7941D !important; width:34px; height:3px; margin:10px 0 14px; }
#footer .footer-widgets p{ color:#C6D4E2 !important; font-size:.92rem; line-height:1.65; }
#footer .footer-widgets a{ color:#C6D4E2 !important; text-decoration:none; font-size:.92rem; }
#footer .footer-widgets a:hover{ color:#72C7D1 !important; }
#footer .footer-widgets .menu li{ border:0 !important; margin:0; }
#footer .footer-widgets .menu li a{ padding:3px 0; border:0 !important; }
#footer .footer-widgets .menu li + li{ border-top:0 !important; }
#footer .absolute-footer{ background:#0D2136 !important; color:#8FA5BA !important; font-size:.85rem; padding:16px 0; }
#footer .absolute-footer .copyright-footer{ color:#8FA5BA !important; line-height:1.6; }

/* ---------- Winkel: producten als kaarten ---------- */
.products .product-small .col-inner{
  background:#FFFFFF; border-radius:18px;
  box-shadow:0 10px 30px rgba(19,45,70,.08);
  padding:16px 16px 20px;
  transition:transform .25s ease, box-shadow .25s ease;
}
.products .product-small .col-inner:hover{
  transform:translateY(-4px); box-shadow:0 18px 50px rgba(19,45,70,.14);
}
.products .product-small .box-image img{ border-radius:12px; }
.products .product-small .box-text{ padding-left:0; padding-right:0; }
.products .woocommerce-loop-product__title,
.products .product-title, .products .name{
  font-family:'Montserrat',sans-serif !important; font-weight:700 !important;
  color:#132D46 !important; font-size:1rem !important;
}
.products .product-title a{ color:#132D46 !important; }
.products .price{ color:#132D46 !important; font-weight:800; font-size:1.05rem; }
.products .box-text .category{ color:#3A5570; font-size:.75rem; letter-spacing:.08em; }

/* winkel-knoppen: oranje pills i.p.v. teal */
.products .button, .products .add_to_cart_button,
.products button[name="nml_add"], .products .nml-shop-add,
.woocommerce ul.products li.product .button{
  background:#F7941D !important; color:#FFFFFF !important;
  border:0 !important; border-radius:999px !important;
  font-family:'Montserrat',sans-serif; font-weight:700 !important;
  text-transform:none !important; letter-spacing:.01em;
  box-shadow:0 6px 16px rgba(247,148,29,.35);
  transition:background .2s ease, transform .2s ease;
}
.products .button:hover, .products .add_to_cart_button:hover,
.woocommerce ul.products li.product .button:hover{
  background:#DB7F0D !important; transform:translateY(-1px);
}
.products .quantity .qty{ border-radius:10px !important; border:2px solid #D7E6F0 !important; }
.products .quantity .minus, .products .quantity .plus{ border-radius:10px !important; }

/* winkel-zijbalk + broodkruimel */
.sidebar .widget-title, .widget-area .widget-title, .shop-sidebar .widget-title{
  font-family:'Montserrat',sans-serif; font-weight:800; color:#132D46; font-size:.95rem;
}
.sidebar .is-divider, .shop-sidebar .is-divider{ background:#F7941D !important; height:3px; width:34px; }
.sidebar .widget ul li{ border-bottom:1px solid #ECEFF3; }
.sidebar .widget ul li a{ color:#3A5570; font-size:.95rem; }
.sidebar .widget ul li a:hover{ color:#DB7F0D; }
.woocommerce-breadcrumb{ color:#3A5570 !important; font-size:.85rem; text-transform:none !important; }
.woocommerce-breadcrumb a{ color:#3A5570 !important; }

/* ---------- Blogarchief (koelwijzer): kaarten ---------- */
.blog-archive .post-item .col-inner, .post-item .col-inner{
  background:#FFFFFF; border-radius:18px; overflow:hidden;
  box-shadow:0 10px 30px rgba(19,45,70,.08);
  transition:transform .25s ease, box-shadow .25s ease;
  height:100%;
}
.post-item .col-inner:hover{ transform:translateY(-4px); box-shadow:0 18px 50px rgba(19,45,70,.14); }
.post-item .box-text{ padding:18px 20px 22px; }
.post-item .post-title{
  font-family:'Montserrat',sans-serif !important; font-weight:700 !important;
  color:#132D46 !important; font-size:1.02rem !important; line-height:1.4;
}
.post-item .post-title:hover{ color:#DB7F0D !important; }
.post-item .box-text .is-divider{ background:#F7941D !important; height:3px; width:34px; margin:10px 0; }
.post-item .box-text p, .post-item .from_the_blog_excerpt{ color:#3A5570; font-size:.92rem; line-height:1.6; }
.post-item .box-image img{ aspect-ratio:16/10; object-fit:cover; }

/* koelwijzer kop-band (uit snippet 37) */
.nml-blogkop{
  background:linear-gradient(135deg,#132D46 0%,#1D4066 100%);
  padding:52px 20px 48px; text-align:center;
}
.nml-blogkop .nml-blogkop-kicker{
  display:inline-block; font-family:'Montserrat',sans-serif; font-weight:800;
  font-size:.8rem; letter-spacing:.14em; text-transform:uppercase;
  color:#F7941D; margin-bottom:8px;
}
.nml-blogkop h1{
  font-family:'Montserrat',sans-serif; font-weight:800;
  color:#F7FAFC !important; font-size:clamp(1.5rem,3.4vw,2.2rem);
  margin:0 0 12px; line-height:1.25;
}
.nml-blogkop p{ color:#C6D4E2; max-width:620px; margin:0 auto; font-size:1rem; line-height:1.65; }

/* ---------- Drankcalculator: titel leesbaar op donkere band ---------- */
#nml-calc .v h2{ color:#FFFFFF !important; }
#nml-calc .v p{ color:#CDEAFB !important; }

/* ---------- Mobiel ---------- */
@media (max-width:550px){
  #footer .footer-widgets{ padding-top:38px; text-align:left; }
  #footer .footer-widgets .col{ padding-bottom:18px !important; }
  #footer .absolute-footer .footer-secondary{ float:none !important; text-align:left !important; }
  #footer .absolute-footer .footer-secondary div{ text-align:left !important; margin-top:6px !important; }
  .nml-blogkop{ padding:38px 18px 34px; }
  .products .product-small .col-inner{ padding:12px 12px 16px; }
}

/* ===== v11b: calc-titel (h1), winkelknoppen oranje, foto op wit ===== */
#nml-calc .v h1{ color:#FFFFFF !important; font-size:clamp(26px,5vw,40px); margin:0 0 10px;
  text-shadow:0 2px 12px rgba(0,0,0,.25); line-height:1.25; }
.products .nml-loop-qty-wrap .add_to_cart_button,
.products .nml-loop-qty-wrap .ajax_add_to_cart,
.products .product-small .box-text a.button.product_type_variable,
.products .product-small .box-text a.add_to_cart_button{
  background:#F7941D !important; color:#FFFFFF !important; border:0 !important;
  border-radius:999px !important; font-family:'Montserrat',sans-serif !important;
  font-weight:700 !important; box-shadow:0 6px 16px rgba(247,148,29,.30) !important;
}
.products .nml-loop-qty-wrap .add_to_cart_button:hover,
.products .nml-loop-qty-wrap .ajax_add_to_cart:hover,
.products .product-small .box-text a.button.product_type_variable:hover,
.products .product-small .box-text a.add_to_cart_button:hover{
  background:#DB7F0D !important; color:#FFFFFF !important;
}
.products .product-small .box-image{ background:#FFFFFF; border-radius:12px; }
/* ===== v11c: winkelkaart-binnenvlak wit + interne categorieen verbergen ===== */
.products .product-small .box,
.products .product-small .box-text{ background:#FFFFFF !important; }
.widget_product_categories li.cat-item-84, .widget_product_categories li.cat-item-15{ display:none !important; }
/* ============================================================
   NML v12 â€” 1-op-1 demo: header, footer, winkel, boekpagina,
   drankcalculator-kop, blogkop, mobiele fixes
   ============================================================ */

/* ---------- Header zoals de demo ---------- */
.header-nav-main .nav-top-link{
  text-transform:none !important; font-family:'Montserrat',sans-serif !important;
  font-weight:700 !important; font-size:.9rem !important; color:#FFFFFF !important;
  letter-spacing:.02em !important; text-shadow:0 1px 2px rgba(19,45,70,.12);
}
.header-nav-main .nav-top-link:hover,
.header-nav-main .current-menu-item .nav-top-link{ color:#132D46 !important; text-shadow:none; }
.header-contact-wrapper{ display:none !important; }
.header-nav li.header-divider{ display:none !important; }
#logo{ max-width:none !important; width:auto !important; }
#logo a{ display:flex !important; align-items:center; gap:12px; }
#logo img.header_logo{ height:52px !important; width:52px !important; border-radius:50%; object-fit:cover; }
#logo img.header-logo-dark{ display:none !important; }
#logo a::after{
  content:"Nie Meer Lauw"; font-family:'Montserrat',sans-serif; font-weight:800;
  font-size:1.05rem; color:#FFFFFF; white-space:nowrap; text-shadow:0 1px 2px rgba(19,45,70,.15);
}
.header-cart-link{
  background:#FFFFFF !important; color:#132D46 !important; border-radius:10px !important;
  box-shadow:0 3px 10px rgba(19,45,70,.15); font-family:'Montserrat',sans-serif !important;
  font-weight:700 !important; text-transform:none !important;
}
.header-cart-link:hover{ background:#FAF3E0 !important; }
.header-cart-link .cart-price, .header-cart-link .header-cart-title{ color:#132D46 !important; }
.header-cart-link i.icon-shopping-cart{ color:#132D46 !important; }
.header-cart-link i[data-icon-label]::after{
  background-color:#F7941D !important; color:#FFFFFF !important; font-weight:800;
}
@media (max-width:849px){
  #logo a::after{ font-size:.9rem; }
}

/* ---------- Kopbanden (.nmlx-band boven Woo/blog-content) ---------- */
.nmlx .filter-rij{ display:flex; gap:8px; flex-wrap:wrap; }
.nmlx a.filter-knop{
  border:2px solid #E3E8EE; background:#FFFFFF; border-radius:999px;
  padding:9px 20px; font-size:.88rem; font-weight:700; color:#3A5570;
  font-family:'Montserrat',sans-serif; text-decoration:none; display:inline-block;
  transition:border-color .15s ease;
}
.nmlx a.filter-knop:hover{ border-color:#72C7D1; }
.nmlx a.filter-knop.actief{ border-color:#132D46; color:#132D46; background:#DBF0F3; }

/* ---------- Winkel: zijbalk weg, volle breedte, demo-kaarten ---------- */
.post-type-archive-product .category-page-row > .col.large-3,
.tax-product_cat .category-page-row > .col.large-3{ display:none !important; }
.post-type-archive-product .category-page-row > .col.large-9,
.tax-product_cat .category-page-row > .col.large-9{
  flex-basis:100% !important; max-width:100% !important; width:100% !important;
}
.post-type-archive-product .woocommerce-breadcrumb,
.tax-product_cat .woocommerce-breadcrumb,
.post-type-archive-product .woocommerce-result-count,
.tax-product_cat .woocommerce-result-count,
.category-filter-row{ display:none !important; }
.products .product-small .box-image{
  background:#EFF9FA !important; border-radius:12px; padding:12px;
}
.products .product-small .box-image img{
  mix-blend-mode:multiply; object-fit:contain; max-height:150px;
}
.nml-loop-qty-wrap .quantity{ border:0 !important; background:transparent !important; }
.nml-loop-qty-wrap .quantity .plus, .nml-loop-qty-wrap .ux-quantity__button--plus{
  background:#F7941D !important; color:#FFFFFF !important; border-radius:999px !important;
  width:32px !important; height:32px !important; font-weight:800 !important; border:0 !important;
  box-shadow:0 3px 10px rgba(247,148,29,.3);
}
.nml-loop-qty-wrap .quantity .minus, .nml-loop-qty-wrap .ux-quantity__button--minus{
  background:#C6D2DD !important; color:#132D46 !important; border-radius:999px !important;
  width:32px !important; height:32px !important; font-weight:800 !important; border:0 !important;
}
.nml-loop-qty-wrap .quantity input.qty{
  border:0 !important; background:transparent !important;
  font-family:'Montserrat',sans-serif; font-weight:800 !important; font-size:1rem !important;
}

/* ---------- Boekpagina (product 417): opruimen zoals demo ---------- */
.single-product .woocommerce-breadcrumb{ display:none !important; }
.single-product .product_meta{ display:none !important; }
.single-product .product-share, .single-product .share-icons,
.single-product .social-icons{ display:none !important; }
.single-product h1.product-title, .single-product .product-title.entry-title{ display:none !important; }
.single-product li.reviews_tab, .single-product #tab-reviews{ display:none !important; }
.single-product .product-gallery img, .single-product .woocommerce-product-gallery__image img{
  border-radius:22px; box-shadow:0 18px 50px rgba(19,45,70,.16);
}

/* ---------- Drankcalculator: lichte demo-kop ---------- */
#nml-calc .v{
  background:none !important; box-shadow:none !important; border-radius:0 !important;
  padding:28px 10px 0 !important; color:#132D46 !important;
}
#nml-calc .v::before{
  content:"Gratis drankcalculator"; display:block; font-family:'Montserrat',sans-serif;
  font-weight:800; font-size:.8rem; letter-spacing:.14em; text-transform:uppercase;
  color:#DB7F0D; margin-bottom:10px;
}
#nml-calc .v h1{ color:#132D46 !important; text-shadow:none !important; }
#nml-calc .v p{ color:#3A5570 !important; }
#nml-calc .bub, #nml-calc .snow{ display:none !important; }
#nml-calc .v .usps span{
  background:#FFFFFF !important; border:0 !important; color:#132D46 !important;
  box-shadow:0 10px 30px rgba(19,45,70,.10); backdrop-filter:none !important;
  padding:16px 24px; border-radius:14px; font-weight:700; font-size:.95rem;
}

/* ---------- Footer: demo-look ---------- */
#footer .footer-widgets .is-divider{ display:none !important; }
#footer .footer-widgets{ padding-top:56px; padding-bottom:28px; }
.nml-f-logo{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.nml-f-logo img{ height:46px; width:46px; border-radius:50%; object-fit:cover; }
.nml-f-logo span{ font-family:'Montserrat',sans-serif; font-weight:800; color:#FFFFFF; font-size:1.05rem; }
#footer #text-15 .textwidget p{ max-width:300px; font-size:.9rem; }
#footer .absolute-footer{
  background:#132D46 !important; border-top:1px solid rgba(255,255,255,.12);
  color:#C6D4E2 !important; padding:16px 0;
}
#footer .absolute-footer .copyright-footer{ color:#C6D4E2 !important; }
#footer .absolute-footer a{ color:#C6D4E2 !important; text-decoration:none; }
#footer .absolute-footer a:hover{ color:#72C7D1 !important; }

/* ---------- Mobiel: regio-blokken + tekst schrapen ---------- */
.nmlx .regio-link{ min-width:0; overflow-wrap:anywhere; white-space:normal; }
@media (max-width:550px){
  .nmlx .regio-grid{ gap:10px; }
  .nmlx .regio-link{ padding:12px 12px; font-size:.88rem; }
  .nmlx .regio-link .aantal{ font-size:.7rem; }
  .nmlx .sectie{ padding-left:16px; padding-right:16px; }
}

/* ===== v12b: logo-naam kleinschrift + witte winkelwagen-knop ===== */
#logo a::after{ text-transform:none !important; letter-spacing:0 !important; }
.header-cart-link.button.primary, a.header-cart-link.icon.primary.button{
  background:#FFFFFF !important; border-color:#FFFFFF !important; color:#132D46 !important;
  border-radius:10px !important; box-shadow:0 3px 10px rgba(19,45,70,.15) !important;
}
.header-cart-link.button.primary:hover{ background:#FAF3E0 !important; border-color:#FAF3E0 !important; }
.header-cart-link.button.primary .cart-price,
.header-cart-link.button.primary .header-cart-title,
.header-cart-link.button.primary i{ color:#132D46 !important; }
/* ===== v12c: regio-grid mobiel 2 kolommen, geen woordafbreking ===== */
@media (max-width:550px){
  .nmlx .regio-link{ overflow-wrap:normal !important; word-break:normal !important;
    font-size:.92rem !important; padding:14px !important; }
}
/* ============================================================
   NML v13 â€” feedbackronde: logo, balkverdeling, winkel wit,
   blog uitgelicht + artikelkop, huurpagina demo-layout,
   calc-details, mini-cart uniform, contact-kaarten, zakelijk mobiel
   ============================================================ */

/* 1. logo niet uitrekken: hoogte vast, breedte automatisch */
#logo img.header_logo{ width:auto !important; height:52px !important; max-height:52px !important; border-radius:0 !important; }

/* 2. balkverdeling: menu naar rechts richting winkelwagen */
.header-nav.nav-left{ justify-content:flex-end !important; padding-right:16px; }

/* 3. (vervallen in v14: fototegel weer ijsblauw zoals demo) */

/* 4. blog: eerste artikel uitgelicht breed (foto links, tekst rechts) */
@media (min-width:850px){
  .blog-archive .post-item:first-child, .post-item:first-child{
    flex-basis:100% !important; max-width:100% !important;
  }
  .post-item:first-child .box{ display:flex !important; align-items:stretch; }
  .post-item:first-child .box-image{ flex:0 0 52%; max-width:52%; }
  .post-item:first-child .box-image img{
    height:100% !important; min-height:300px; object-fit:cover; aspect-ratio:auto !important;
  }
  .post-item:first-child .box-text{
    flex:1; display:flex; flex-direction:column; justify-content:center; padding:36px 40px !important;
  }
  .post-item:first-child .post-title{ font-size:1.5rem !important; }
}

/* 5. blogartikel: lichte kop i.p.v. donkere foto-banner */
.single-post .page-title.featured-title{
  min-height:0 !important; padding:44px 20px 6px !important; background:transparent !important;
}
.single-post .page-title.featured-title .page-title-bg,
.single-post .page-title.featured-title .title-overlay,
.single-post .page-title.featured-title .title-bg{ display:none !important; }
.single-post .page-title .entry-title, .single-post .entry-header-text .entry-title{
  color:#132D46 !important; text-shadow:none !important;
}
.single-post .page-title .is-divider{ background:#F7941D !important; }
.single-post .entry-header-text{ padding-top:0 !important; }

/* 6. huurpagina: foto full-width band zoals demo, tekst weg naast foto */
.single-product .product-main .content-row > .product-gallery{
  flex-basis:100% !important; max-width:100% !important; width:100% !important;
}
.single-product .product-main .content-row > .product-info{
  flex-basis:100% !important; max-width:100% !important; width:100% !important;
  padding-left:0 !important;
}
.single-product .product-info .product-short-description{ display:none !important; }
.single-product .product-info .price{ display:none !important; }
.single-product .woocommerce-product-gallery__image img{
  width:100% !important; aspect-ratio:16/6 !important; object-fit:cover !important;
  object-position:68% 58% !important; border-radius:22px !important;
  box-shadow:0 18px 50px rgba(19,45,70,.16) !important;
}
.single-product .product-thumbnails{ display:none !important; }
.single-product .product-gallery .image-tools{ display:none !important; }
@media (max-width:550px){
  .single-product .woocommerce-product-gallery__image img{ aspect-ratio:16/10 !important; }
}

/* 7. drankcalculator: details zoals demo */
#nml-calc .stap{
  background:none !important; text-transform:none !important; letter-spacing:0 !important;
  font-size:1.15rem !important; color:#132D46 !important; padding:0 !important;
  font-weight:800 !important; border-radius:0 !important;
}
#nml-calc .chips button{
  flex:0 0 auto !important; min-width:0 !important; border-radius:999px !important;
  padding:9px 18px !important; font-weight:700 !important; text-transform:none !important;
  font-size:.88rem !important; border:2px solid #E3E8EE !important; box-shadow:none !important;
}
#nml-calc .chips button.aan{
  border-color:#132D46 !important; background:#DBF0F3 !important; color:#132D46 !important;
}
#nml-calc .gasten{ justify-content:flex-start !important; }
#nml-calc .gasten button{
  width:42px !important; height:42px !important; font-size:1.4rem !important;
  background:#F7941D !important; color:#FFFFFF !important; border:0 !important;
  box-shadow:0 4px 12px rgba(247,148,29,.3) !important;
}
#nml-calc .gasten input{
  width:90px !important; font-size:1.5rem !important; border:2px solid #E3E8EE !important;
  border-radius:12px !important; padding:8px !important;
}
#nml-calc .gasten-sub{ text-align:left !important; }

/* 8. mini-cart (hover winkelwagen): knoppen uniform */
.widget_shopping_cart .buttons .button, .widget_shopping_cart a.button,
.cart-popup-inner .button, .widget_shopping_cart .continue-shopping{
  display:block !important; width:100% !important; margin:0 0 8px !important;
  text-align:center !important; border-radius:999px !important;
  font-family:'Montserrat',sans-serif !important; font-weight:700 !important;
  text-transform:none !important; font-size:.9rem !important; padding:11px 16px !important;
  line-height:1.3 !important; box-shadow:none !important;
}
.widget_shopping_cart .button.checkout{ background:#F7941D !important; color:#FFFFFF !important; border:0 !important; }
.widget_shopping_cart .button.wc-forward:not(.checkout){ background:#132D46 !important; color:#FFFFFF !important; border:0 !important; }
.widget_shopping_cart .continue-shopping{
  background:transparent !important; color:#3A5570 !important; border:2px solid #E3E8EE !important;
}

/* 9. contact: kaarten rechts nette tussenruimte + kaartstijl */
.nmlx .nml-c-info{
  background:#FFFFFF; border-radius:18px; box-shadow:0 10px 30px rgba(19,45,70,.10);
  padding:22px 24px; margin-bottom:18px;
}
.nmlx .nml-c-info h3{ margin:0 0 8px; font-size:1.05rem; }
.nmlx .nml-c-tip{ margin-top:0; }

/* 10. zakelijk (en alle ports) mobiel: inline grids naar 1 kolom */
@media (max-width:550px){
  .nmlx [style*="grid-template-columns"]:not(.stappen):not(.regio-grid){ grid-template-columns:1fr !important; }
  .nmlx .kaart{ height:auto !important; }
}

/* ===== v13b: lege summary-ruimte huurpagina weg ===== */
.single-product .product-main .content-row > .product-info{ display:none !important; }
.single-product .product-gallery{ margin-bottom:0 !important; }
.single-product .product-main{ padding-bottom:0 !important; }

/* ============================================================
   NML v14 (ver 1.9) â€” 1-op-1 demo-parity ronde (08-07-2026)
   header/mobiel, FAQ-markers, huurpagina-wizard als demo,
   winkel-kaarten als demo, blogkaarten meta/leeslinks, sticky boek-CTA
   ============================================================ */

/* ---------- Header: cart-icoon + badge zeker tonen ---------- */
.header-cart-link i.icon-shopping-cart{
  display:inline-block !important; font-size:16px !important; margin-left:6px;
  position:relative;
}
.header-cart-link i[data-icon-label]{ position:relative !important; }
.header-cart-link i[data-icon-label]::after{
  content:attr(data-icon-label); position:absolute; top:-12px; right:-14px;
  background:#F7941D !important; color:#FFFFFF !important; font-weight:800;
  border-radius:50%; min-width:20px; height:20px; line-height:20px;
  font-size:.68rem; text-align:center; font-family:'Montserrat',sans-serif;
  display:block !important;
}

/* ---------- Mobiele header: logo links, hamburger + cart rechts (demo) ---------- */
@media (max-width:849px){
  .header-main .header-inner{ display:flex; align-items:center; }
  .header-main .header-inner > #logo,
  .header-main .header-inner > .flex-col.logo{ order:1 !important; margin-right:auto !important; }
  .header-main .header-inner > .flex-col.show-for-medium.flex-left{ order:3 !important; flex-grow:0 !important; }
  .header-main .header-inner > .flex-col.show-for-medium.flex-right{ order:4 !important; }
  /* hamburger: geen oranje cirkel maar donkere lijnen zoals demo */
  .mobile-nav .nav-icon > .header-button > a.icon.primary.button.circle{
    background:transparent !important; border:0 !important; box-shadow:none !important;
    min-width:0 !important; padding:0 10px !important;
  }
  .mobile-nav .nav-icon a.icon.primary.button.circle i.icon-menu{
    color:#132D46 !important; font-size:26px !important;
  }
  /* winkelwagen: witte pill met badge */
  .mobile-nav .cart-item a.header-cart-link{
    background:#FFFFFF !important; border-radius:10px !important; border:0 !important;
    box-shadow:0 3px 10px rgba(19,45,70,.15) !important; padding:8px 12px !important;
  }
  .mobile-nav .cart-item a.header-cart-link i{ color:#132D46 !important; margin-left:0; }
  .mobile-nav .cart-item .nml-cart-mini-price{
    color:#132D46; font-family:'Montserrat',sans-serif; font-weight:700; font-size:.78rem;
    margin-right:6px; white-space:nowrap;
  }
  #logo a::after{ display:none !important; }
}

/* ---------- FAQ-accordions: open/dicht-driehoek zoals demo ---------- */
.nmlx details > summary{ list-style:none; }
.nmlx details > summary::-webkit-details-marker{ display:none; }
.nmlx details > summary::before{
  content:"\25B6"; display:inline-block; font-size:.65em; margin-right:9px;
  color:#132D46; transition:transform .15s ease; vertical-align:1px;
}
.nmlx details[open] > summary::before{ transform:rotate(90deg); }

/* ---------- Huurpagina: wizard als demo ---------- */
/* stappen-pills (JS zet ze boven de foto) */
.nml-ka-steps{
  display:flex !important; gap:8px; justify-content:center; flex-wrap:wrap;
  margin:6px auto 30px !important; border:0 !important; width:100%;
}
.nml-ka-step{
  font-family:'Montserrat',sans-serif !important; font-weight:700 !important;
  font-size:.82rem !important; padding:8px 18px !important; border-radius:999px !important;
  background:#FFFFFF !important; color:#3A5570 !important;
  box-shadow:0 10px 30px rgba(19,45,70,.10) !important; white-space:nowrap;
  border:0 !important; flex:0 0 auto !important; text-transform:none !important;
  letter-spacing:.01em !important; opacity:1 !important;
}
.nml-ka-step.is-active{ background:#132D46 !important; color:#FFFFFF !important; }
/* foto: demo-band binnen containerbreedte, geen randje */
.single-product .product-gallery{ max-width:1140px; margin-left:auto !important; margin-right:auto !important; float:none !important; }
.single-product .woocommerce-product-gallery__image img{ border:0 !important; }
.single-product .product-footer{ max-width:1140px; margin:0 auto; float:none !important; }
/* kalenderblok: witte kaart zoals demo-paneel */
.nml-ka-wrap{ background:transparent !important; border:0 !important; box-shadow:none !important; }
.nml-ka-cols{
  background:#FFFFFF !important; border-radius:22px !important;
  box-shadow:0 10px 30px rgba(19,45,70,.10) !important; padding:34px !important;
  display:grid !important; grid-template-columns:1.15fr .85fr !important; gap:34px !important;
  border:0 !important;
}
.nml-ka-cal-col{ display:flex !important; flex-direction:column !important; }
.nml-ka-hint{
  order:-1; margin:0 0 18px !important; color:#3A5570 !important;
  font-size:.92rem !important; text-align:left !important; font-style:normal !important;
}
.nml-ka-hint strong{ color:#132D46; }
/* rechterkolom: notitievak + volle-breedte-knop + tip */
.nml-ka-summary{
  background:#EFF9FA !important; border-radius:12px !important; padding:22px 24px !important;
  font-size:.9rem !important; color:#3A5570 !important; border:0 !important;
}
.nml-ka-breakdown{ font-size:.9rem; color:#3A5570; }
#nml-ka-to-2, #nml-ka-to-3, #nml-ka-add{
  width:100% !important; margin-top:18px !important; text-transform:none !important;
  font-size:1rem !important; padding:14px 30px !important; letter-spacing:.01em !important;
  box-shadow:0 6px 18px rgba(247,148,29,.35) !important; border:0 !important;
}
.nml-ka-tip{ font-size:.8rem; color:#3A5570; margin:12px 0 0; line-height:1.55; }
/* legenda compact op Ã©Ã©n regel */
.nml-ka-legend{
  display:flex !important; flex-wrap:wrap !important; gap:8px 14px !important;
  font-size:.78rem !important; color:#3A5570 !important; margin-top:14px !important;
  align-items:center;
}
.nml-ka-legend span{ display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
/* service-keuzes als demo-checkrijen */
.nml-ka-svc{
  display:flex !important; gap:12px !important; align-items:flex-start !important;
  background:#EFF9FA !important; padding:14px 16px !important; border-radius:12px !important;
  margin-bottom:12px !important; cursor:pointer; border:2px solid transparent !important;
}
.nml-ka-svc:hover{ border-color:#72C7D1 !important; }
.nml-ka-svc-title{ font-weight:700; color:#132D46; }
.nml-ka-svc-desc{ color:#3A5570; font-size:.88rem; }
/* Woo-tabs (Beschrijving/Aanvullende informatie) verbergen zoals demo */
.single-product .woocommerce-tabs{ display:none !important; }
.single-product .related.products{ display:none !important; }
@media (max-width:849px){
  .nml-ka-cols{ grid-template-columns:1fr !important; padding:22px !important; }
}

/* ---------- Winkel: grid + kaart-anatomie als demo ---------- */
.woocommerce-ordering{ display:none !important; }
.woocommerce-pagination{ display:none !important; }
@media (min-width:1000px){
  .post-type-archive-product .products.row > .col,
  .tax-product_cat .products.row > .col{
    flex-basis:25% !important; max-width:25% !important;
  }
}
@media (min-width:760px) and (max-width:999px){
  .post-type-archive-product .products.row > .col,
  .tax-product_cat .products.row > .col{
    flex-basis:33.333% !important; max-width:33.333% !important;
  }
}
.products .product-small .box-image{
  height:150px; display:flex; align-items:center; justify-content:center;
  padding:10px !important;
}
.products .product-small .box-image .image-fade_in_back{ display:flex; align-items:center; }
.products .product-small .box-image img{ max-height:130px !important; width:auto !important; margin:0 auto; }
/* titel boven categorielabel */
.products .title-wrapper{ display:flex; flex-direction:column; }
.products .title-wrapper .category{ order:2; margin:2px 0 0 !important; font-size:.7rem !important; letter-spacing:.06em !important; font-weight:700 !important; color:#3A5570 !important; }
.products .title-wrapper .name{ order:1; margin:0 !important; }
.products .product-small .box-text{ padding-top:12px !important; display:block !important; }
.products .product-small .box-text .title-wrapper{ width:100%; }
/* prijs + stepper op Ã©Ã©n regel (JS verplaatst prijs naar de form) */
.products form.nml-loop-qty-wrap{
  display:flex !important; align-items:center !important; justify-content:space-between !important;
  gap:8px; flex-wrap:wrap; margin:6px 0 0 !important; padding:0;
}
.products form.nml-loop-qty-wrap .price-wrapper{ margin:0 !important; }
.products form.nml-loop-qty-wrap .price{ font-family:'Montserrat',sans-serif; font-weight:800 !important; font-size:1.1rem !important; }
.products form.nml-loop-qty-wrap .quantity{ margin:0 !important; }
.products form.nml-loop-qty-wrap .add_to_cart_button{
  flex:1 1 100%; width:100%; margin-top:12px !important;
  padding:10px 14px !important; font-size:.85rem !important;
  box-shadow:0 6px 16px rgba(247,148,29,.30) !important;
}
.products .ux-quantity__button{ box-shadow:none !important; }
.products .ux-quantity{ box-shadow:none !important; border:0 !important; }
/* NIX18-balk onder het grid (snippet-echo) */
.nmlx .nix{
  background:#132D46; color:#FFFFFF; border-radius:14px; padding:12px 18px;
  font-size:.85rem; display:flex; gap:12px; align-items:center; margin-top:26px;
}
.nmlx .nix .badge18{
  background:#D9534F; color:#fff; border-radius:50%; min-width:40px; height:40px;
  display:flex; align-items:center; justify-content:center; font-weight:800; flex-shrink:0;
}

/* ---------- Blog: kaart-meta, leeslinks, badges, CTA-kaart, gelijke hoogtes ---------- */
.post-item .col-inner{ display:flex; flex-direction:column; }
.post-item .box-blog-post{ display:flex; flex-direction:column; height:100%; }
.post-item .box-blog-post .box-text{ flex:1; display:flex; }
.post-item .box-text-inner{ display:flex; flex-direction:column; width:100%; }
.post-item .box-text-inner .is-divider{ display:none !important; }
.nml-blog-meta{ font-size:.78rem; color:#3A5570; margin:0 0 6px; order:-1; }
.nml-blog-lees{
  margin-top:auto; padding-top:12px; color:#DB7F0D !important; font-weight:700;
  font-size:.95rem; font-family:'Montserrat',sans-serif; text-decoration:none;
}
.nml-badge{
  display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.05em;
  padding:4px 12px; border-radius:999px; text-transform:uppercase; margin-right:6px;
  font-family:'Montserrat',sans-serif;
}
.nml-badge--oranje{ background:#FDEBD3; color:#DB7F0D; }
.nml-badge--blauw{ background:#DBF0F3; color:#2A7A85; }
.nml-badges{ margin-bottom:10px; }
.post-item .from_the_blog_excerpt{ margin-bottom:0; }
/* CTA-kaart 'Zelf uitrekenen?' (JS voegt toe als laatste kaart) */
.nml-blog-cta .col-inner{
  background:#132D46 !important; color:#fff; border-radius:18px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:30px; height:100%;
  box-shadow:0 10px 30px rgba(19,45,70,.08);
}
.nml-blog-cta .nml-cta-ijs{ font-size:2.4rem; }
.nml-blog-cta h3{ color:#fff !important; margin:10px 0 0; font-family:'Montserrat',sans-serif; font-weight:800; }
.nml-blog-cta p{ color:#C6D4E2 !important; font-size:.92rem; margin:8px 0 0; }
.nml-blog-cta a.nml-cta-knop{
  display:inline-block; margin-top:16px; font-family:'Montserrat',sans-serif; font-weight:700;
  background:#F7941D; color:#fff !important; text-decoration:none; padding:12px 26px;
  border-radius:999px; box-shadow:0 6px 18px rgba(247,148,29,.35);
}

/* ---------- Blogartikelen (generiek): rustige leeskolom ---------- */
.single-post .article-inner{ max-width:760px; margin:0 auto; float:none; }
.single-post .page-title .is-divider, .single-post .entry-header .is-divider{ display:none !important; }
.single-post .entry-header-text{ text-align:left !important; padding-left:0 !important; }
.single-post .entry-title{ text-align:left !important; }
.single-post .entry-content table{
  border-collapse:separate !important; border-spacing:0; border-radius:14px; overflow:hidden;
  box-shadow:0 10px 30px rgba(19,45,70,.08);
}
.single-post .entry-content table tr:first-child td,
.single-post .entry-content table th{
  background:#132D46 !important; color:#FFFFFF !important; font-family:'Montserrat',sans-serif;
  font-weight:700; border:0 !important;
}
.single-post .entry-content table td{ background:#fff; border:0 !important; border-bottom:1px solid #ECEFF3 !important; }
.single-post .blog-share, .single-post .post-prev-next{ margin-top:26px; }

/* ---------- Contact: tipbox-links zichtbaar als link ---------- */
.nmlx .nml-c-tip a{ text-decoration:underline !important; color:#DB7F0D !important; font-weight:700; }

/* ---------- Sticky mobiele boek-CTA (sturen op direct boeken â€” wens Jan 08-07) ---------- */
.nml-boek-sticky{
  display:none; position:fixed; left:14px; right:14px; bottom:14px; z-index:80;
  background:#F7941D; color:#fff !important; text-align:center; text-decoration:none !important;
  font-family:'Montserrat',sans-serif; font-weight:700; font-size:1rem;
  padding:14px 20px; border-radius:999px; box-shadow:0 10px 30px rgba(19,45,70,.35);
}
@media (max-width:549px){
  .nml-boek-sticky{ display:block; }
  body{ padding-bottom:70px; }
}

/* ===== v14b: restfixes na eerste verificatieronde ===== */

/* blog: Flatsome-masonry uitschakelen zodat kaarten netjes in het grid vallen */
body.blog .row{ height:auto !important; }
body.blog .post-item{
  position:static !important; top:auto !important; left:auto !important;
  transform:none !important;
}

/* winkel: prijs en stepper echt op een regel */
.products form.nml-loop-qty-wrap .price-wrapper{ width:auto !important; flex:0 1 auto !important; }
.products form.nml-loop-qty-wrap .quantity{ flex:0 0 auto !important; }
.products .quantity input.ux-quantity__button{
  width:32px !important; height:32px !important; border-radius:999px !important;
  padding:0 !important; line-height:1 !important; font-size:1.1rem !important;
}
.products .quantity input.ux-quantity__button--plus{
  box-shadow:0 3px 10px rgba(247,148,29,.3) !important;
}
.products .quantity input.qty{ width:34px !important; padding:0 !important; text-align:center; }

/* header: karretje-icoon voor de tekst (zoals demo), glyph-icoon rechts uitzetten */
.header-cart-link .header-cart-title::before{
  content:""; display:inline-block; width:17px; height:17px; margin-right:4px;
  vertical-align:-3px;
  background:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23132D46' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.6'/%3E%3Ccircle cx='17' cy='20' r='1.6'/%3E%3Cpath d='M3 3h2l2.6 12.2a1 1 0 0 0 1 .8h8.9a1 1 0 0 0 1-.8L20.5 8H6'/%3E%3C/svg%3E") no-repeat center/contain;
}
.header-nav .header-cart-link i.icon-shopping-cart{ font-size:0 !important; width:0; margin-left:2px; }

/* mobiel: hamburger rechts naast de winkelwagen + compactere balk */
@media (max-width:849px){
  .header-main .header-inner > .flex-col.show-for-medium.flex-left{ margin-left:auto !important; }
  #masthead .header-main{ min-height:64px !important; }
  #logo img.header_logo{ height:44px !important; max-height:44px !important; }
  .mobile-nav .cart-item a.header-cart-link .header-cart-title::before{ display:none; }
}

/* huurpagina: FAQ-items in de duo-kolom volle breedte, links uitgelijnd */
.nmlx .duo details.paneel{
  width:100% !important; margin:0 !important; max-width:none !important; text-align:left;
}
.nmlx .duo > div > div[style*="display:grid"]{ justify-items:stretch; }

/* huurpagina: kalendercellen als demo (witte vakjes met ijsblauwe rand) */
.nml-ka-grid .nml-ka-cell{
  background:#F6FCFD !important; border:2px solid #C4E6EC !important;
  border-radius:12px !important; color:#132D46; font-weight:600;
}
.nml-ka-grid .nml-ka-cell:hover{ border-color:#72C7D1 !important; }
.nml-ka-grid .nml-ka-cell.is-past{
  background:transparent !important; border-color:#EDF1F4 !important; color:#C9CFD6 !important;
}
.nml-ka-grid .nml-ka-cell.is-busy{ border-color:#F5B8C0 !important; color:#7E3B46 !important; }
.nml-ka-grid .nml-ka-cell.is-sel{ border-color:#4DB9B4 !important; }
.nml-ka-dow span{
  text-transform:uppercase; font-weight:700; font-size:.72rem; color:#3A5570;
  letter-spacing:.04em;
}

/* ===== v14c: drankcalculator stap 3 + knoppen + usps + vuistregels als demo ===== */
#nml-calc .v .usps{ display:grid !important; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:22px; }
#nml-calc .v .usps span{ font-size:.95rem !important; text-align:center; }
#nml-calc #nmlGo{
  width:fit-content !important; display:block !important; margin:22px auto 0 !important;
  text-transform:none !important; animation:none !important; letter-spacing:0 !important;
  background:#F7941D !important; border-radius:999px !important; border:0 !important;
  padding:17px 38px !important; font-size:1.05rem !important; color:#fff !important;
  font-family:'Montserrat',sans-serif !important; font-weight:700 !important;
  box-shadow:0 6px 18px rgba(247,148,29,.35) !important;
}
#nml-calc #nmlGo:hover{ background:#DB7F0D !important; }
#nml-calc .stats{ display:grid !important; grid-template-columns:repeat(3,1fr); gap:14px; }
#nml-calc .stat{
  background:#EFF9FA !important; border:0 !important; border-radius:14px !important;
  box-shadow:none !important; padding:16px !important;
}
#nml-calc .stat b{ font-size:1.6rem !important; color:#132D46 !important; font-family:'Montserrat',sans-serif !important; }
#nml-calc #nmlTabel{ width:100%; border-collapse:collapse !important; }
#nml-calc #nmlTabel img{ display:none !important; }
#nml-calc #nmlTabel td{
  border:0 !important; border-bottom:1px solid #ECEFF3 !important;
  padding:12px 6px !important; background:transparent !important;
}
#nml-calc #nmlTabel tr:last-child td{ border-bottom:0 !important; }
#nml-calc #nmlTabel button{
  background:#C6D2DD !important; color:#132D46 !important; border:0 !important;
  border-radius:999px !important; width:29px !important; height:29px !important;
  font-weight:800 !important; box-shadow:none !important; padding:0 !important; line-height:1 !important;
}
#nml-calc #nmlTabel button:hover{ background:#72C7D1 !important; color:#fff !important; }
#nml-calc .totaal{
  display:flex !important; justify-content:space-between !important;
  border-top:2px solid #132D46 !important; margin-top:14px !important; padding-top:12px !important;
  font-family:'Montserrat',sans-serif !important; font-weight:800 !important; font-size:1.15rem !important;
  background:transparent !important; border-radius:0 !important;
}
#nml-calc button.cart{
  background:#F7941D !important; border:0 !important; border-radius:999px !important;
  color:#fff !important; font-family:'Montserrat',sans-serif !important; font-weight:700 !important;
  text-transform:none !important; width:100% !important; padding:15px !important;
  font-size:1.05rem !important; box-shadow:0 6px 18px rgba(247,148,29,.35) !important;
}
#nml-calc button.cart:hover{ background:#DB7F0D !important; }
#nml-calc button.deel{ border-radius:999px !important; text-transform:none !important; font-weight:700 !important; }
#nml-calc label{ text-align:left !important; }
@media (max-width:549px){
  #nml-calc .chips button{ min-width:0 !important; flex:0 0 auto !important; font-size:.85rem !important; padding:8px 14px !important; }
  #nml-calc .v .usps{ grid-template-columns:1fr; gap:10px; }
  #nml-calc .stats{ grid-template-columns:1fr 1fr 1fr; gap:8px; }
}
/* vuistregels-lijst in paneel: geen bullets, nette regels (zoals demo) */
.nmlx .paneel ul.vinkjes{ list-style:none; margin:0; padding:0; }
.nmlx .paneel ul.vinkjes li{ padding:7px 0; }

/* ===== v14d: blogartikel demo-styles (uit blog-hoeveel-drank.html <style>-blok) ===== */
.nmlx .artikel{ max-width:720px; margin:0 auto; }
.nmlx .artikel p{ margin:0 0 18px; color:#2A3D52; }
.nmlx .artikel h2{ font-size:1.5rem; margin:34px 0 14px; }
.nmlx .artikel .intro{ font-size:1.15rem; color:var(--donker-zacht); }
.nmlx .artikel table{
  width:100%; border-collapse:collapse; margin:20px 0; background:var(--wit);
  border-radius:14px; overflow:hidden; box-shadow:var(--schaduw);
}
.nmlx .artikel th{
  background:var(--donker) !important; color:#fff !important; text-align:left; padding:12px 16px;
  font-family:var(--font-kop); font-size:.85rem; border:0 !important;
}
.nmlx .artikel td{ padding:12px 16px; border:0 !important; border-bottom:1px solid #ECEFF3 !important; font-size:.95rem; background:var(--wit) !important; }
.nmlx .artikel tr:last-child td{ border-bottom:none !important; }
.nmlx .artikel-meta{
  display:flex; gap:14px; align-items:center; color:var(--donker-zacht);
  font-size:.85rem; margin:14px 0 26px; flex-wrap:wrap;
}
.nmlx .tip{ background:#FDEBD3; border-radius:14px; padding:18px 22px; margin:22px 0; font-size:.95rem; }
/* post 1426: demo-artikel levert eigen kop â€” Flatsome-kop verbergen */
body.postid-1426 .entry-header{ display:none !important; }
body.postid-1426 .article-inner{ max-width:none; }
body.single-post .entry-content{ padding-top:10px; }

/* ===== v14e: pp-cta (calculator) + contactformulier demo-look ===== */
.nml-pp-cta{
  background:#132D46; color:#fff; border-radius:14px; padding:16px 20px;
  margin-top:14px; font-size:.95rem; line-height:1.55;
}
.nml-pp-cta strong{ color:#F7941D; }
.nml-pp-cta a{ color:#F7941D; font-weight:700; text-decoration:none; }
.nml-pp-cta a:hover{ text-decoration:underline; }

.wpcf7 .nml-form-rij{ display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
@media (max-width:849px){ .wpcf7 .nml-form-rij{ grid-template-columns:1fr; } }
.wpcf7 form > label, .wpcf7 .nml-form-rij > label{
  display:block; font-weight:700; font-size:.9rem;
  font-family:'Montserrat',sans-serif; color:#132D46; margin-bottom:16px;
}
.wpcf7 .wpcf7-form-control-wrap{ display:block; margin-top:6px; font-weight:400; }
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=date], .wpcf7 textarea{ width:100%; }
.wpcf7 input[type=submit]{ width:100% !important; padding:15px !important; font-size:1.05rem !important; }

/* ===== v14f: restfixes na eindverificatie ===== */

/* 1. blog: flex-regels terugdraaien die de kaartfoto's onzichtbaar maakten */
.post-item .col-inner{ display:block !important; }
.post-item .box-blog-post{ display:block !important; height:auto !important; }
.post-item .box-blog-post .box-text{ display:block !important; }
.post-item .box-text-inner{ display:block !important; }
.post-item .box-image{ display:block !important; }
.nml-blog-meta{ display:block; }
.nml-blog-lees{ display:inline-block; margin-top:10px; }

/* 2. donkere banden: koppen/tekst altijd licht (Flatsome .page h2 won het van de overerving) */
.nmlx .cta-band h2, .nmlx .cta-band h3{ color:#FFFFFF !important; }
.nmlx .cta-band p{ color:#C6D4E2 !important; }
.nmlx .sectie--donker h2, .nmlx .sectie--donker h3{ color:#FFFFFF !important; }
.nml-blog-cta h3{ color:#fff !important; }
.nmlx .cta-band a.knop{ display:inline-block; }
@media (min-width:850px){ .nmlx .cta-band a.knop{ white-space:nowrap; } }
@media (max-width:549px){ .nmlx .cta-band a.knop{ font-size:.95rem; padding:13px 22px; } }

/* 3. blogartikel 1426: dubbele Flatsome-titel weg (kop zit in de demo-body) */
body.postid-1426 .page-title, body.postid-1426 .entry-header,
body.postid-1426 .page-title.featured-title{ display:none !important; }

/* 4. artikel-tabel: geen caps, mobiel scrollbaar */
.nmlx .artikel th{ text-transform:none !important; letter-spacing:0 !important; }
@media (max-width:900px){
  .nmlx .artikel table{ display:block !important; overflow-x:auto !important; }
}

/* 5. winkel: prijs+stepper echt naast elkaar (custom theme-CSS zette column) */
.products form.nml-loop-qty-wrap{
  flex-direction:row !important; align-items:center !important;
  justify-content:space-between !important;
}
.products .nml-loop-qty-wrap .quantity input.qty{
  background:transparent !important; border:0 !important; box-shadow:none !important;
}
.products .add_to_cart_button{ box-shadow:0 4px 12px rgba(247,148,29,.25) !important; }
.nmlx .container.center h1, .nmlx .center > h1{ color:#132D46 !important; }
.nmlx h1{ color:#132D46; }

/* 6. mobiele header: logo links, hamburger + cart samen rechts */
@media (max-width:849px){
  .header-main .header-inner{ flex-wrap:nowrap; }
  .header-main .header-inner > .flex-col{ flex:0 0 auto !important; }
  .header-main .header-inner > #logo{ order:0 !important; margin-right:auto !important; flex:0 1 auto !important; }
  .header-main .header-inner > .flex-col.show-for-medium.flex-left{ order:5 !important; margin-left:0 !important; }
  .header-main .header-inner > .flex-col.show-for-medium.flex-right{ order:6 !important; }
}

/* 7. huurpagina-FAQ: pills op maat, gecentreerd (zoals demo) */
.nmlx .duo details.paneel{
  width:fit-content !important; max-width:100% !important; margin:0 auto !important;
}

/* 8. kalender: maandbalk over volle breedte + lege cellen onzichtbaar */
.nml-ka-cal-head{
  display:flex !important; align-items:center !important;
  justify-content:space-between !important; margin-bottom:14px !important; width:100%;
}
.nml-ka-grid .nml-ka-cell:empty{
  background:transparent !important; border:0 !important; pointer-events:none; box-shadow:none !important;
}

/* 9. typografie: demo-koppen winnen ook als thema-CSS later laadt */
.nmlx h1{ font-size:clamp(2.1rem,4.5vw,3.4rem); }
.nmlx h2{ font-size:clamp(1.6rem,3vw,2.3rem); }
.nmlx h3{ font-size:1.25rem; }
.nmlx .stap h4{ font-size:1rem; }

/* 10. footer-onderbalk mobiel: NIX18 onder de copyright-regel (volgorde demo) */
@media (max-width:549px){
  #footer .absolute-footer .container{ display:flex; flex-direction:column; }
  #footer .absolute-footer .footer-primary{ order:1; }
  #footer .absolute-footer .footer-secondary{ order:2; margin-top:4px !important; }
}

/* ===== v14g: blog uitgelicht artikel â€” foto links, tekst rechts (definitief) ===== */
@media (min-width:850px){
  .post-item:first-child .box.box-blog-post{
    display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important;
    align-items:stretch !important;
  }
  .post-item:first-child .box-image{
    width:52% !important; min-width:52% !important; max-width:52% !important;
    flex:0 0 52% !important; display:block !important; margin:0 !important;
  }
  .post-item:first-child .box-image .image-cover{
    padding-top:0 !important; height:100% !important; min-height:320px !important;
    position:relative !important; overflow:hidden !important; width:100% !important;
  }
  .post-item:first-child .box-image .image-cover img{
    position:absolute !important; top:0 !important; left:0 !important; width:100% !important;
    height:100% !important; object-fit:cover !important; aspect-ratio:auto !important;
    min-height:0 !important; max-height:none !important;
  }
  .post-item:first-child .box-text{
    display:flex !important; flex-direction:column !important; justify-content:center !important;
    padding:36px 40px !important; flex:1 1 0 !important; width:auto !important; min-width:0 !important;
  }
}
/* uitgelichte kaart: samenvatting niet afkappen met [...] */
.post-item .from_the_blog_excerpt{ display:block; }

/* ===== v14h: mobiele header - hamburger direct naast winkelwagen ===== */
@media (max-width:849px){
  .header-main .header-inner > .flex-col.show-for-medium.flex-right{ margin-left:12px !important; }
  .header-main .header-inner > .flex-col.show-for-medium.flex-left{ margin-left:auto !important; }
}

/* ===== v14i: logo-automargin uit, alleen hamburger+cart naar rechts ===== */
@media (max-width:849px){
  .header-main .header-inner > #logo{ margin-right:0 !important; }
}

/* ===== v14j: boekpagina service-rijen netjes + prominente pp-totaalkaart calculator ===== */

/* service-keuzes: radio | titel+omschrijving gestapeld | fee rechts (zoals demo) */
.nml-ka-svc{
  display:grid !important; grid-template-columns:auto 1fr !important;
  column-gap:12px !important; row-gap:2px !important; align-items:start !important;
}
.nml-ka-svc input[type="radio"]{ grid-row:1 / span 2; margin-top:5px; width:18px; height:18px; accent-color:#F7941D; }
.nml-ka-svc-title{
  display:flex !important; align-items:baseline !important; gap:8px !important;
  flex-wrap:wrap !important; font-weight:700 !important; color:#132D46 !important;
  width:100%;
}
.nml-ka-svc-title em{
  font-style:normal !important; background:none !important; padding:0 !important;
  border-radius:0 !important; color:#3A5570 !important; font-weight:600 !important;
  display:inline !important; font-size:.85em;
}
.nml-ka-svc-title .nml-ka-fee{
  float:none !important; margin-left:auto !important; white-space:nowrap;
  font-family:'Montserrat',sans-serif !important; font-weight:700 !important; color:#132D46 !important;
}
.nml-ka-svc-desc{ grid-column:2; display:block !important; font-size:.88rem !important; color:#3A5570 !important; }

/* pp-totaalkaart (drank + aanhanger) prominent */
.nml-pp-cta{
  background:#132D46; color:#fff; border-radius:14px; padding:20px 24px;
  margin:4px 0 18px; font-size:.95rem; line-height:1.55;
}
.nml-pp-cta .nml-pp-kop{ font-family:'Montserrat',sans-serif; font-weight:800; font-size:1.15rem; }
.nml-pp-cta .nml-pp-kop strong{ color:#F7941D; font-size:1.45rem; }
.nml-pp-cta .nml-pp-sub{ color:#C6D4E2; margin-top:6px; font-size:.9rem; }
.nml-pp-cta a{ color:#F7941D; font-weight:700; text-decoration:none; }
.nml-pp-cta a:hover{ text-decoration:underline; }

/* ===== v14k: contact-kop demo-stijl + CF7 2-koloms rijen (autop-p) ===== */
.nml-c-head{ text-align:center; }
.nml-c-kick{
  display:inline-block; font-family:'Montserrat',sans-serif; font-weight:700;
  font-size:.82rem; letter-spacing:.14em; text-transform:uppercase;
  color:#F7941D; margin-bottom:10px;
}
h1.nml-c-h1{
  font-family:'Montserrat',sans-serif; font-weight:800;
  font-size:clamp(2.1rem,4.5vw,3.4rem) !important; line-height:1.15;
  color:#132D46; margin:0 0 8px;
}
.nml-c-sub{ color:#3A5570; max-width:640px; margin:14px auto 0; }
.wpcf7 .nml-form-rij > p{
  display:grid; grid-template-columns:1fr 1fr; gap:0 16px; margin:0 0 4px;
}
.wpcf7 .nml-form-rij br{ display:none; }
.wpcf7 form label{
  display:block; font-weight:700; font-size:.9rem;
  font-family:'Montserrat',sans-serif; color:#132D46; margin-bottom:16px;
}
@media (max-width:849px){
  .wpcf7 .nml-form-rij > p{ grid-template-columns:1fr; }
}
/* ===== v14l: avondronde-fixes (twemoji, blog-grid, winkel-mobiel, knoppen, calc, contact, checkout) ===== */

/* 1. WP-twemoji: emoji-afbeeldingen weer inline (".nmlx img{display:block}" blies ze op) */
img.emoji, .nmlx img.emoji, #nml-calc img.emoji{
  display:inline-block !important; width:1em !important; height:1em !important;
  margin:0 .07em !important; vertical-align:-0.1em !important;
  box-shadow:none !important; border:0 !important; border-radius:0 !important;
  background:none !important; padding:0 !important;
}

/* 2. blog-grid: masonry-row als nette flex-rijen (geen float-gaten) */
body.blog .row.row-masonry, body.blog #post-list .row{
  display:flex !important; flex-wrap:wrap !important; height:auto !important;
  align-items:stretch;
}
body.blog .post-item{ float:none !important; }

/* 3. winkel mobiel: kaartinhoud netjes gestapeld, knop met ruimte, compacte steppers */
.products .product-small .col-inner{ display:flex; flex-direction:column; height:100%; }
.products .product-small .col-inner > .product-small.box{ flex:1 1 auto; }
.products form.nml-loop-qty-wrap{ margin-top:8px !important; }
.products form.nml-loop-qty-wrap .add_to_cart_button{ margin-top:10px !important; margin-bottom:2px !important; }
@media (max-width:549px){
  .products .quantity input.ux-quantity__button{
    width:26px !important; height:26px !important; font-size:.9rem !important;
  }
  .products .quantity input.qty{ width:26px !important; font-size:.9rem !important; }
  .products form.nml-loop-qty-wrap .price{ font-size:.95rem !important; }
  .products .product-small .box-image{ height:110px; }
  .products .product-small .box-image img{ max-height:95px !important; }
  .nmlx .container.center h1{ font-size:1.55rem !important; }
}

/* 4. artikel/CTA-banden: knoppen naast elkaar op desktop */
@media (min-width:850px){
  .nmlx .cta-band a.knop{ display:inline-block !important; width:auto !important; margin:4px 6px !important; }
}

/* 5. mobiel: compacte knoppen en kaartjes zoals demo, meer contentbreedte */
@media (max-width:549px){
  .nmlx .knop--groot{ font-size:1rem !important; padding:15px 24px !important; }
  .nmlx .usp{ padding:14px !important; font-size:.9rem !important; }
  .nmlx .sectie{ padding-left:12px !important; padding-right:12px !important; }
  .nmlx .stappen{ gap:10px !important; }
  .nmlx .stap{ padding:0 2px !important; }
  .nmlx .stap h4{ font-size:.9rem !important; overflow-wrap:normal; hyphens:manual; }
  .nmlx .stap p{ font-size:.78rem !important; overflow-wrap:normal; hyphens:manual; }
}

/* 6. contact: kop-formaat zoals demo-banden + tipbox-links zichtbaar */
h1.nml-c-h1{ font-size:clamp(1.9rem,3.6vw,2.6rem) !important; }
.nml-c-tip a{ text-decoration:underline !important; color:#DB7F0D !important; font-weight:700 !important; }

/* 7. calculator: smalle gecentreerde kolom zoals demo + details */
#nml-calc{ max-width:860px !important; margin:0 auto !important; }
#nml-calc #nmlGo{ line-height:1.35 !important; }
.nmlx .paneel ul.vinkjes li{ margin:0 !important; padding:4px 0 !important; }
@media (max-width:549px){
  #nml-calc .gasten button{ width:38px !important; height:38px !important; font-size:1.15rem !important; }
}

/* 8. kalender-legenda op een regel */
.nml-ka-legend{ font-size:.72rem !important; gap:6px 10px !important; }

/* 9. afrekenen: strakkere betaalopties (gat tussen iDEAL en contant weg) */
ul.wc_payment_methods{ margin:12px 0 !important; }
ul.wc_payment_methods li{ padding:6px 0 !important; margin:0 !important; list-style:none; }
ul.wc_payment_methods li .payment_box{ margin:4px 0 !important; }
ul.wc_payment_methods li .payment_box:empty{ display:none !important; }

/* ===== v14m: CF7-rij dubbel-grid fix (div block, alleen p is grid) ===== */
.wpcf7 .nml-form-rij{ display:block !important; }

/* ===== v14n: wizard-kaart gecentreerd op volle containerbreedte + regio-blokjes mobiel ===== */
.single-product .nml-ka-wrap{
  max-width:none !important; width:100% !important;
  margin-left:auto !important; margin-right:auto !important;
}
.single-product .nml-ka-cols{ width:100% !important; }
@media (max-width:549px){
  .nmlx .regio-link{
    padding:10px 8px !important; font-size:.78rem !important;
    gap:4px !important; overflow:hidden !important;
  }
  .nmlx .regio-link .pijl{ font-size:.9em !important; flex:0 0 auto; }
  .nmlx .regio-link .aantal{ font-size:.65rem !important; }
}
/* ===== v14o: FAQ-accordions full-width links uitgelijnd (wens Jan 09-07) ===== */
.nmlx details.paneel{ width:100% !important; max-width:none !important; margin:0 !important; text-align:left !important; justify-self:stretch !important; }

/* ===== v14p: FAQ full-width â€” zelfde specificiteit als v14f-regel ===== */
.nmlx .duo details.paneel{ width:100% !important; max-width:none !important; margin:0 !important; text-align:left !important; }

/* ===== v14q: mobiele header via Flatsome-mods (menu-icon+cart rechts); oude hacks neutraliseren ===== */
@media (max-width:849px){
  .header-main .header-inner > .flex-col.show-for-medium.flex-left{ order:0 !important; margin-left:0 !important; }
  .header-main .header-inner > .flex-col.show-for-medium.flex-right{ order:0 !important; margin-left:auto !important; }
  .header-main .header-inner > #logo{ order:0 !important; margin-right:0 !important; }
  .mobile-nav .nav-icon > .header-button > a.icon.primary.button.circle{
    background:transparent !important; border:0 !important; box-shadow:none !important;
  }
  .mobile-nav li{ margin:0 4px !important; }
}
/* ===== v14r: calc-aantal gecentreerd, wizard-Terug-knop rond, mini-cart middelste knop outline ===== */
#nml-calc #nmlTabel td{ vertical-align:middle !important; }
#nml-calc #nmlTabel .qty{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  gap:8px !important; float:none !important;
}
#nml-calc #nmlTabel .qty strong{
  min-width:24px; text-align:center; line-height:1; display:inline-block;
  font-family:'Montserrat',sans-serif;
}
.nml-ka-btn{ border-radius:999px !important; text-transform:none !important; font-weight:700 !important; }
.nml-ka-btn:not(.nml-ka-btn-primary){
  background:transparent !important; border:2px solid #E3E8EE !important;
  color:#3A5570 !important; box-shadow:none !important;
}
.nml-ka-btn:not(.nml-ka-btn-primary):hover{ border-color:#72C7D1 !important; color:#132D46 !important; }
.widget_shopping_cart .button.wc-forward:not(.checkout){
  background:transparent !important; color:#132D46 !important;
  border:2px solid #132D46 !important;
}
/* ===== v14s: wizard-kaart demo-paneelmaat: 860px gecentreerd (was full-width = uitgerekt) ===== */
.single-product .nml-ka-wrap{ max-width:860px !important; width:100% !important; margin:0 auto !important; }
.single-product .nml-ka-cols{ grid-template-columns:1.15fr .85fr !important; gap:28px !important; padding:28px !important; }

/* ===== v14t: hamburger strak naast de winkelwagen-pill (mobiel) ===== */
@media (max-width:849px){
  .mobile-nav{ gap:0 !important; }
  .mobile-nav li{ margin:0 !important; padding:0 !important; }
  .mobile-nav .nav-icon .header-button{ margin:0 !important; }
  .mobile-nav .nav-icon .header-button > a{ padding:0 8px 0 0 !important; min-width:0 !important; margin:0 !important; }
  .mobile-nav .cart-item{ margin-left:2px !important; }
  .mobile-nav .cart-item a.header-cart-link{ margin:0 !important; }
}
/* ===== v14u: mobiel hamburger LINKS, logo MIDDEN, cart rechts (wens Jan 09-07) ===== */
@media (max-width:849px){
  .header-main .header-inner > .flex-col.show-for-medium.flex-left{
    flex:1 1 0 !important; order:0 !important; margin:0 !important;
  }
  .header-main .header-inner > .flex-col.show-for-medium.flex-right{
    flex:1 1 0 !important; order:0 !important; margin:0 !important;
  }
  .header-main .header-inner > #logo{ flex:0 0 auto !important; margin:0 !important; order:0 !important; }
  .mobile-nav.nav-left{ justify-content:flex-start !important; }
  .mobile-nav.nav-right{ justify-content:flex-end !important; }
  .mobile-nav .nav-icon .header-button > a{ padding:0 0 0 4px !important; }
}
/* ===== v14v: hamburger-kolom voor het logo; logo exact midden ===== */
@media (max-width:849px){
  .header-main .header-inner > .flex-col.show-for-medium.flex-left{ order:-1 !important; }
  .header-main .header-inner > .flex-col.show-for-medium.flex-right{ order:1 !important; }
}
/* ===== v14w: mobiele cart compact (icoon + badge, geen bedrag) â€” balk in balans ===== */
@media (max-width:849px){
  .mobile-nav .cart-item a.header-cart-link{
    padding:9px 12px !important; border-radius:12px !important;
  }
  .mobile-nav .cart-item a.header-cart-link i{ font-size:19px !important; margin:0 !important; }
  .mobile-nav .nav-icon a.icon.primary.button.circle i.icon-menu{ font-size:24px !important; }
}
/* ===== v14x: logo groter op mobiel (wens Jan) ===== */
@media (max-width:849px){
  #logo img.header_logo{ height:58px !important; max-height:58px !important; }
  #masthead .header-main{ min-height:74px !important; }
}

/* ===== v14y: sticky header (na scrollen) zelfde logo-maat + layout als bovenaan ===== */
@media (max-width:849px){
  .stuck #logo img.header_logo, #masthead.stuck #logo img.header_logo{
    height:54px !important; max-height:54px !important; padding:2px 0 !important;
  }
  #masthead.stuck, .stuck .header-main{ min-height:70px !important; }
  .stuck .header-inner > .flex-col.show-for-medium.flex-left{ order:-1 !important; flex:1 1 0 !important; margin:0 !important; }
  .stuck .header-inner > .flex-col.show-for-medium.flex-right{ order:1 !important; flex:1 1 0 !important; margin:0 !important; }
  .stuck .header-inner > #logo{ flex:0 0 auto !important; margin:0 !important; }
}
/* ===== v14z: kalenderkaart op mobiel weer 1 kolom (v14s-kolommen golden per ongeluk ook mobiel) ===== */
@media (max-width:849px){
  .single-product .nml-ka-cols, .nml-ka-cols{
    grid-template-columns:1fr !important; gap:18px !important; padding:20px !important;
  }
  #nml-ka-to-2, #nml-ka-to-3, #nml-ka-add{ border-radius:999px !important; }
}
/* ===== v15a: winkel-steppers echt rond (hoogte werd opgerekt door oude shop-CSS) ===== */
.products .nml-loop-qty-wrap .quantity{
  height:auto !important; min-height:0 !important; align-items:center !important;
  display:inline-flex !important; gap:6px !important;
}
.products .quantity input.ux-quantity__button{
  width:30px !important; height:30px !important; min-height:0 !important; max-height:30px !important;
  min-width:30px !important; max-width:30px !important; aspect-ratio:1 !important;
  border-radius:999px !important; line-height:1 !important; padding:0 !important;
  flex:0 0 30px !important; font-size:1rem !important;
}
.products .quantity input.qty{
  width:26px !important; height:30px !important; min-height:0 !important;
  padding:0 !important; text-align:center !important;
}
@media (max-width:549px){
  .products .quantity input.ux-quantity__button{
    width:27px !important; height:27px !important; max-height:27px !important;
    min-width:27px !important; max-width:27px !important; flex-basis:27px !important;
  }
  .products .quantity input.qty{ width:22px !important; height:27px !important; }
}
/* ===== v15b: nette productpagina voor drankproducten (417-regels waren sitewide) ===== */
/* summary/titel/prijs terug voor alles behalve de boekingspagina */
.single-product:not(.postid-417) .product-main .content-row > .product-info{
  display:block !important; flex-basis:50% !important; max-width:50% !important;
  padding-left:30px !important;
}
.single-product:not(.postid-417) .product-main .content-row > .product-gallery{
  flex-basis:50% !important; max-width:50% !important;
}
.single-product:not(.postid-417) h1.product-title,
.single-product:not(.postid-417) .product-title.entry-title{
  display:block !important; text-align:left; font-size:1.7rem !important; color:#132D46 !important;
}
.single-product:not(.postid-417) .product-info .price{
  display:block !important; font-family:'Montserrat',sans-serif; font-weight:800 !important;
  font-size:1.5rem !important; color:#132D46 !important; margin:10px 0 !important;
}
.single-product:not(.postid-417) .product-info .product-short-description{
  display:block !important; color:#3A5570;
}
/* productfoto op ijsblauwe tegel, niet uitgerekt */
.single-product:not(.postid-417) .woocommerce-product-gallery__image img{
  aspect-ratio:auto !important; object-fit:contain !important; object-position:center !important;
  width:100% !important; max-height:420px !important; background:#EFF9FA;
  border-radius:18px !important; box-shadow:none !important; padding:24px;
  mix-blend-mode:multiply;
}
.single-product:not(.postid-417) .product-gallery{ background:transparent; }
/* aantal + knop netjes */
.single-product:not(.postid-417) form.cart{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:14px; }
.single-product:not(.postid-417) form.cart .single_add_to_cart_button{
  border-radius:999px !important; background:#F7941D !important; color:#fff !important;
  padding:13px 30px !important; font-family:'Montserrat',sans-serif !important; font-weight:700 !important;
}
/* related producten: winkel-kaartstijl + oranje knoppen */
.single-product .related .product-small .col-inner{
  background:#fff; border-radius:18px; box-shadow:0 10px 30px rgba(19,45,70,.08); padding:14px 14px 18px;
}
.single-product .related .add_to_cart_button, .single-product .related .button{
  background:#F7941D !important; color:#fff !important; border:0 !important;
  border-radius:999px !important; font-family:'Montserrat',sans-serif !important; font-weight:700 !important;
}
.single-product .related h3, .single-product .related .product-section-title{
  font-family:'Montserrat',sans-serif !important; font-weight:800 !important; color:#132D46 !important;
  text-transform:none !important;
}
@media (max-width:849px){
  .single-product:not(.postid-417) .product-main .content-row > .product-info,
  .single-product:not(.postid-417) .product-main .content-row > .product-gallery{
    flex-basis:100% !important; max-width:100% !important; padding-left:0 !important;
  }
}
/* ===== v15c: stepper-tekens en knoptekst exact gecentreerd ===== */
.products .quantity input.ux-quantity__button{
  line-height:28px !important; font-size:1.15rem !important; font-weight:800 !important;
  text-align:center !important; vertical-align:middle !important;
}
@media (max-width:549px){
  .products .quantity input.ux-quantity__button{ line-height:25px !important; font-size:1.05rem !important; }
}
.products form.nml-loop-qty-wrap .add_to_cart_button{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  line-height:1.2 !important; padding:12px 14px !important;
}
/* ===== v15d: stepper op productpagina rond zoals in de winkel ===== */
.single-product form.cart .quantity{
  border:0 !important; background:transparent !important; display:inline-flex !important;
  align-items:center !important; gap:6px !important; height:auto !important;
}
.single-product form.cart .quantity input.minus{
  background:#C6D2DD !important; color:#132D46 !important;
}
.single-product form.cart .quantity input.plus{
  background:#F7941D !important; color:#fff !important; box-shadow:0 3px 10px rgba(247,148,29,.3) !important;
}
.single-product form.cart .quantity input.minus, .single-product form.cart .quantity input.plus{
  border:0 !important; border-radius:999px !important; width:32px !important; height:32px !important;
  min-height:0 !important; max-height:32px !important; padding:0 !important;
  line-height:30px !important; font-size:1.15rem !important; font-weight:800 !important; text-align:center !important;
}
.single-product form.cart .quantity input.qty{
  border:0 !important; background:transparent !important; width:34px !important; height:32px !important;
  text-align:center !important; font-family:'Montserrat',sans-serif !important; font-weight:800 !important;
}
/* ===== v16 (2.19): blogartikel-leesopmaak + blogbox/CTA-kaart (mainframe-chat 09-07) ===== */
.single-post .entry-content{
  max-width:760px; margin-left:auto !important; margin-right:auto !important;
  font-size:1.05rem; line-height:1.8; color:#2A3F55; float:none !important;
}
.single-post .entry-content > p:first-of-type{
  font-size:1.16rem; color:#43596F; line-height:1.7;
}
.single-post .entry-content h2{
  font-family:'Montserrat',sans-serif !important; font-weight:800 !important;
  color:#132D46 !important; font-size:1.45rem !important; line-height:1.25 !important;
  margin:2.1em 0 .6em !important;
}
.single-post .entry-content h2::after{
  content:""; display:block; width:56px; height:5px; border-radius:999px;
  background:#72C7D1; margin-top:10px;
}
.single-post .entry-content h3{ color:#132D46 !important; font-weight:700 !important; }
.single-post .entry-content ul{ padding-left:0 !important; margin:1em 0 1.4em !important; list-style:none !important; }
.single-post .entry-content ul > li{
  position:relative; padding-left:30px; margin-bottom:.7em; list-style:none !important;
}
.single-post .entry-content ul > li::before{
  content:""; position:absolute; left:0; top:.5em; width:13px; height:13px;
  border-radius:4px; background:#72C7D1;
}
.single-post .entry-content a{ color:#F7941D !important; font-weight:600; }
.single-post .entry-content strong{ color:#132D46; }
.single-post .entry-content img{ border-radius:18px; }
.nml-blogbox{
  background:rgba(114,199,209,.13); border-radius:20px; padding:22px 26px;
  margin:1.6em 0 !important;
}
.nml-blogbox > :first-child{ margin-top:0 !important; }
.nml-blogbox > :last-child{ margin-bottom:0 !important; }
.nml-blogbox .nml-boxkop{
  font-family:'Montserrat',sans-serif; font-weight:800; color:#132D46;
  font-size:1.02rem; margin:0 0 10px;
}
.nml-blogcta{
  background:#132D46; border-radius:22px; padding:30px 30px; margin:2.4em 0 1em !important;
  color:#DCE9F2; text-align:center; box-shadow:0 16px 44px rgba(19,45,70,.22);
}
.nml-blogcta .nml-ctakop{
  font-family:'Montserrat',sans-serif; font-weight:800; color:#fff;
  font-size:1.35rem; line-height:1.3; margin:0 0 8px;
}
.nml-blogcta p{ color:#C6D6E2; margin:0 0 18px; }
.nml-blogcta a.nml-ctaknop{
  display:inline-block; background:#F7941D !important; color:#fff !important;
  font-family:'Montserrat',sans-serif; font-weight:800; text-decoration:none !important;
  padding:13px 30px; border-radius:999px; box-shadow:0 6px 18px rgba(247,148,29,.35);
}
.nml-blogcta .nml-ctasub{ font-size:.85rem; color:#8FA6B8; margin:12px 0 0; }
@media (max-width:550px){
  .single-post .entry-content{ font-size:1rem; }
  .nml-blogcta{ padding:24px 18px; }
}
