/* ============================================================
 * NACHTRESET HUISSTIJL — gedeelde stijl voor portaal-chrome,
 * Lars-widget en module-hero. Eén bron van waarheid voor kleuren,
 * typografie en kernchrome. Wijziging hier propageert naar alle
 * modules en het portaal.
 * ============================================================ */

/* DESIGN TOKENS — exact gelijk aan voorwaarden.html / live.html */
:root {
  --nr-ink: #1c1f26;
  --nr-ink-soft: #2f343d;
  --nr-paper: #f7f4ec;
  --nr-paper-warm: #efebde;
  --nr-paper-cool: #ffffff;
  --nr-primary: #1e3a5f;
  --nr-primary-deep: #14283f;
  --nr-primary-soft: #4a6584;
  --nr-accent: #c2410c;
  --nr-accent-deep: #9a3309;
  --nr-accent-soft: #e85d20;
  --nr-muted: #6b7280;
  --nr-line: #d9d2bf;
  --nr-line-soft: #e8e2d1;
  --nr-serif: 'Source Serif 4', Georgia, serif;
  --nr-sans:  'Inter', system-ui, -apple-system, sans-serif;
}

/* SHARED MODULE CHROME — sticky top bar, navy in plaats van bruin-zwart */
.iaw-modulebar{
  position:sticky;top:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;padding:.7rem 1.25rem;
  background:rgba(20,40,63,0.96); /* primary-deep met blur */
  backdrop-filter:saturate(140%) blur(6px);
  color:var(--nr-paper);border-bottom:1px solid rgba(255,255,255,.10);
  font-family:var(--nr-sans);font-size:13px;
}
.iaw-modulebar a,.iaw-modulebar button{
  color:rgba(247,244,236,.78);text-decoration:none;background:transparent;border:0;cursor:pointer;
  font:inherit;padding:.4rem .65rem;border-radius:2px;transition:color .15s,background .15s;
}
.iaw-modulebar a:hover,.iaw-modulebar button:hover{color:#fff;background:rgba(255,255,255,.06);}
.iaw-mb-brand{
  font-family:var(--nr-serif);
  font-weight:500;letter-spacing:-0.005em;
  font-size:16px;color:#fff;display:flex;align-items:center;gap:.6rem;
}
.iaw-mb-brand .dot{width:6px;height:6px;border-radius:50%;background:var(--nr-accent);display:inline-block;}
.iaw-mb-mid{font-size:11px;color:rgba(247,244,236,.55);letter-spacing:.14em;text-transform:uppercase;font-weight:500;}
.iaw-mb-nav{display:flex;align-items:center;gap:.25rem;}
.iaw-mb-nav .sep{width:1px;height:14px;background:rgba(255,255,255,.14);margin:0 .35rem;}
.iaw-mb-nav .disabled{opacity:.3;pointer-events:none;}
@media(max-width:600px){
  .iaw-mb-mid{display:none;}
  .iaw-modulebar{padding:.55rem .85rem;}
  .iaw-mb-brand{font-size:15px;}
}

/* SHARED LARS CHAT WIDGET — accent kleuren naar nieuwe huisstijl */
.iaw-lars-btn{
  position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;
  background:var(--nr-accent);color:#fff;border:none;font-size:24px;cursor:pointer;
  box-shadow:0 4px 16px rgba(20,40,63,0.22);z-index:300;transition:transform .15s,background .15s;
  font-family:var(--nr-sans);
}
.iaw-lars-btn:hover{transform:scale(1.05);background:var(--nr-accent-deep);}
.iaw-lars-btn .pulse{position:absolute;inset:0;border-radius:50%;border:2px solid var(--nr-accent);animation:iawPulse 2.4s ease-out infinite;}
@keyframes iawPulse{0%{transform:scale(1);opacity:.7;}100%{transform:scale(1.6);opacity:0;}}
.iaw-lars-panel{
  position:fixed;bottom:90px;right:24px;width:380px;max-width:calc(100vw - 48px);
  height:520px;max-height:calc(100vh - 130px);background:var(--nr-paper);border-radius:6px;
  box-shadow:0 12px 40px rgba(20,40,63,0.20);display:none;flex-direction:column;
  z-index:301;overflow:hidden;font-family:var(--nr-sans);color:var(--nr-ink);
  border:1px solid var(--nr-line-soft);
}
.iaw-lars-panel.open{display:flex;}
.iaw-lars-header{background:var(--nr-primary-deep);color:#fff;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:500;}
.iaw-lars-header .module-tag{font-size:10px;color:var(--nr-accent-soft);letter-spacing:.14em;text-transform:uppercase;font-weight:600;}
.iaw-lars-close{background:transparent;border:none;color:rgba(255,255,255,0.7);font-size:18px;cursor:pointer;line-height:1;padding:0 4px;}
.iaw-lars-close:hover{color:#fff;}
.iaw-lars-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;}
.iaw-lars-msg{padding:10px 14px;border-radius:8px;font-size:14px;line-height:1.5;max-width:85%;}
.iaw-lars-msg.lars{background:var(--nr-paper-warm);align-self:flex-start;color:var(--nr-ink);}
.iaw-lars-msg.user{background:var(--nr-primary);color:var(--nr-paper);align-self:flex-end;}
.iaw-lars-msg.thinking{background:var(--nr-paper-warm);color:var(--nr-muted);font-style:italic;}
.iaw-lars-input-row{display:flex;gap:8px;padding:12px;border-top:1px solid var(--nr-line-soft);}
.iaw-lars-input-row input{flex:1;padding:10px 12px;border:1px solid var(--nr-line-soft);border-radius:4px;font-size:14px;font-family:inherit;color:var(--nr-ink);background:#fff;}
.iaw-lars-input-row input:focus{outline:none;border-color:var(--nr-primary);}
.iaw-lars-send{background:var(--nr-accent);color:#fff;border:none;padding:10px 16px;border-radius:4px;font-size:13px;cursor:pointer;font-weight:500;}
.iaw-lars-send:hover{background:var(--nr-accent-deep);}
.iaw-lars-send:disabled{opacity:.5;cursor:not-allowed;}
@media(max-width:600px){.iaw-lars-panel{width:calc(100vw - 24px);right:12px;bottom:80px;}}

/* Force-hide ondanks bestaande .hero display:flex regels */
[hidden]{display:none !important;}

/* SHARED MODULE HERO — diepe navy in plaats van bruin, accent rust */
.m-hero{
  background:var(--nr-primary-deep) !important;
  color:var(--nr-paper) !important;
  padding:80px 5% 60px !important;
  position:relative;overflow:hidden;
  font-family:var(--nr-sans);
  display:block !important;
  margin:0 calc(50% - 50vw) !important;
  width:100vw !important;
  max-width:none !important;
  box-sizing:border-box;
}
.m-hero::before{
  content:'';position:absolute;top:-40px;right:-40px;
  width:300px;height:300px;border-radius:50%;
  border:1px solid rgba(194,65,12,0.20);pointer-events:none;
}
.m-hero::after{
  content:'';position:absolute;top:20px;right:20px;
  width:180px;height:180px;border-radius:50%;
  border:1px solid rgba(194,65,12,0.15);pointer-events:none;
}
.m-hero__inner{
  max-width:780px;margin:0 auto !important;
  position:relative;z-index:1;
  padding:0 !important;
}
.m-hero__label{
  font-family:var(--nr-sans);
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--nr-accent-soft) !important;
  margin:0 0 16px !important;
  display:flex;align-items:center;gap:10px;
  font-weight:600;
}
.m-hero__label::before{
  content:'';display:inline-block;width:24px;height:1px;background:var(--nr-accent-soft);flex-shrink:0;
}
.m-hero__title{
  font-family:var(--nr-serif) !important;
  font-size:clamp(32px,5vw,52px) !important;
  font-weight:500 !important;
  line-height:1.1 !important;
  letter-spacing:-0.02em;
  color:var(--nr-paper) !important;
  max-width:700px;
  margin:0 0 14px !important;
}
.m-hero__title em{font-style:italic;color:var(--nr-accent-soft) !important;font-weight:400;}
.m-hero__title strong{font-weight:600;color:var(--nr-accent-soft) !important;}
.m-hero__sub{
  font-family:var(--nr-serif);
  color:rgba(247,244,236,0.78) !important;
  max-width:580px;font-size:18px;line-height:1.55;margin:0 !important;
  font-weight:400;
}
.m-hero__meta{
  display:flex !important;
  gap:24px;margin-top:28px;flex-wrap:wrap;
}
.m-hero__meta-item{
  font-size:13px;color:rgba(247,244,236,0.62);
  display:flex;align-items:center;gap:8px;
  font-family:var(--nr-sans);
}
.m-hero__meta-item::before{
  content:'';width:6px;height:6px;border-radius:50%;background:var(--nr-accent);flex-shrink:0;
}
.m-hero__scroll{
  margin-top:36px;color:rgba(247,244,236,0.5);
  font-family:var(--nr-sans);
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;
  display:flex;align-items:center;gap:10px;
}
.m-hero__scroll::after{
  content:'';width:10px;height:10px;
  border-right:2px solid rgba(247,244,236,0.5);
  border-bottom:2px solid rgba(247,244,236,0.5);
  transform:rotate(45deg);animation:m-hero-bounce 2s infinite;
}
@keyframes m-hero-bounce{
  0%,100%{transform:translateY(0) rotate(45deg);}
  50%{transform:translateY(4px) rotate(45deg);}
}
@media(max-width:600px){
  .m-hero{padding:60px 5% 40px !important;}
  .m-hero__title{font-size:32px !important;}
}
