/* ═══ SHARED HEADER — OpSynCore (Fullscreen Hamburger) ══════════════════════ */

/* ── Header bar ─────────────────────────────────────────────────────────── */
#pubnav {
  background: #0a1628;
  backdrop-filter: blur(12px);
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 40px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  position: sticky;
  top: 0;
  z-index: 400;
}

.plogo {
  font-family: Georgia, serif;
  font-size: 20px;
  font-weight: 900;
  color: #fff;
  cursor: pointer;
  -webkit-font-smoothing: antialiased;
  letter-spacing: 4px;
  user-select: none;
}

/* ── Hamburger — altijd zichtbaar ───────────────────────────────────────── */
.phamburger {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 10px 8px;
  z-index: 300;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.phamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: rgba(255,255,255,.85);
  border-radius: 2px;
  transition: transform .35s cubic-bezier(.4,0,.2,1), opacity .25s, background .2s;
}
.phamburger:hover span { background: #fff; }
.phamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.phamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.phamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── Fullscreen menu overlay ────────────────────────────────────────────── */
.pfullmenu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  background: #0a1628;
  z-index: 350;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 40px 60px;
  box-sizing: border-box;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s cubic-bezier(.4,0,.2,1);
  overflow-y: auto;
  overflow-x: hidden;
}
.pfullmenu.open {
  opacity: 1;
  pointer-events: all;
}

/* Decoratieve lijn bovenaan — verwijderd */
.pfullmenu::before {
  content: none;
}

/* ── Nav items ──────────────────────────────────────────────────────────── */
.pfullmenu-nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  width: 100%;
  max-width: 560px;
}

.pfulllink {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: rgba(255,255,255,.45);
  text-decoration: none;
  padding: 10px 28px;
  border-radius: 6px;
  cursor: pointer;
  letter-spacing: 2px;
  text-transform: uppercase;
  display: block;
  text-align: center;
  opacity: 0;
  transform: translateY(14px);
  transition: color .2s, opacity .3s, transform .3s cubic-bezier(.4,0,.2,1);
}
.pfullmenu.open .pfulllink { opacity: 1; transform: translateY(0); }
.pfullmenu.open .pfulllink:nth-child(1) { transition-delay: .05s; }
.pfullmenu.open .pfulllink:nth-child(2) { transition-delay: .09s; }
.pfullmenu.open .pfulllink:nth-child(3) { transition-delay: .13s; }
.pfullmenu.open .pfulllink:nth-child(4) { transition-delay: .17s; }
.pfullmenu.open .pfulllink:nth-child(5) { transition-delay: .21s; }
.pfullmenu.open .pfulllink:nth-child(6) { transition-delay: .25s; }
.pfullmenu.open .pfulllink:nth-child(7) { transition-delay: .29s; }

.pfulllink:hover { color: rgba(255,255,255,.85); }
.pfulllink.on { color: #d4943a; }

/* ── Separator ──────────────────────────────────────────────────────────── */
.pfullmenu-sep {
  width: 48px;
  height: 1px;
  background: rgba(184,115,51,.35);
  margin: 24px auto;
  opacity: 0;
  transition: opacity .3s .34s;
}
.pfullmenu.open .pfullmenu-sep { opacity: 1; }

/* ── Knoppen onderaan ───────────────────────────────────────────────────── */
.pfullmenu-btns {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .3s .38s, transform .3s .38s;
}
.pfullmenu.open .pfullmenu-btns {
  opacity: 1;
  transform: translateY(0);
}

.pfullmenu-audit,
.pfullmenu-dashboard {
  background: transparent;
  color: rgba(255,255,255,.6);
  border: 1px solid rgba(255,255,255,.15);
  padding: 12px 30px;
  border-radius: 8px;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  transition: color .25s, border-color .25s, box-shadow .25s;
}
.pfullmenu-audit:hover,
.pfullmenu-dashboard:hover {
  color: #d4943a;
  border-color: rgba(184,115,51,.55);
  box-shadow: 0 0 18px rgba(184,115,51,.25), inset 0 0 12px rgba(184,115,51,.06);
}

/* ── Dashboard popup ────────────────────────────────────────────────────── */
.osh-popup-overlay { position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box; }
.osh-popup-inner { background:#fff;border-radius:20px;padding:32px 28px;max-width:520px;width:90%;box-shadow:0 20px 60px rgba(0,0,0,.3);position:relative;border:2px solid #b87333;text-align:center;box-sizing:border-box; }
.osh-popup-close { position:absolute;top:12px;right:12px;background:none;border:none;font-size:18px;color:#9ca3af;cursor:pointer;padding:4px 8px;z-index:1; }
.osh-popup-icon { display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,rgba(212,148,58,.15),rgba(184,115,51,.08));margin-bottom:16px; }
.osh-popup-title { font-family:Georgia,serif;font-size:18px;font-weight:700;color:#0f1f3d;margin-bottom:6px; }
.osh-popup-badge { display:inline-block;background:linear-gradient(135deg,#d4943a,#b87333);color:#fff;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:4px 12px;border-radius:20px;margin-bottom:16px; }
.osh-popup-desc { font-size:13px;color:#6b7280;line-height:1.7;margin-bottom:20px; }
.osh-popup-desc strong { color:#0f1f3d; }
.osh-popup-features { background:linear-gradient(135deg,rgba(15,31,61,.05),rgba(15,31,61,.02));border:1px solid rgba(15,31,61,.1);border-radius:10px;padding:14px 16px;text-align:left;margin-bottom:20px; }
.osh-popup-features-title { font-size:11px;font-weight:700;color:#0f1f3d;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px; }
.osh-popup-features-grid { display:grid;grid-template-columns:1fr 1fr;gap:6px 10px; }
.osh-popup-features-grid div { font-size:12px;color:#6b7280;line-height:1.5; }
.osh-popup-features-grid span { color:#d4943a;font-weight:700;margin-right:4px; }
.osh-popup-input { width:100%;padding:10px 14px;border:1px solid rgba(15,31,61,.15);border-radius:8px;font-size:13px;margin-bottom:10px;box-sizing:border-box;outline:none;transition:border-color .2s; }
.osh-popup-input:focus { border-color:#d4943a; }
.osh-popup-btn { width:100%;background:linear-gradient(135deg,#d4943a,#b87333);color:#fff;padding:12px;border:none;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;transition:opacity .2s; }
.osh-popup-btn:hover { opacity:.85; }
.osh-popup-success { padding:16px;background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.2);border-radius:10px;margin-bottom:8px; }
.osh-popup-note { font-size:10px;color:#9ca3af;margin-top:6px; }

/* ── Backward compat (diensten pages + audit React app) ─────────────────── */
.pcta { background:transparent;color:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.12);padding:6px 14px;border-radius:6px;font-family:'Montserrat',system-ui,sans-serif;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block; }
.pcta:hover { background:rgba(184,115,51,.08);color:#d4943a;border-color:rgba(184,115,51,.35); }
.plinks { display:flex;gap:2px;align-items:center; }
.plink { background:none;border:none;color:rgba(255,255,255,.65);font-size:14px;padding:8px 14px;border-radius:6px;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block; }
.plink:hover,.plink.on { color:#fff;background:rgba(255,255,255,.08); }
a.plink { color:rgba(255,255,255,.65); }
a.plink:visited { color:rgba(255,255,255,.65); }
.pmobile-btns { display:none;flex-direction:column;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08); }
.pmobile-btns .pcta { width:100%;text-align:center; }
.pnav-overlay { display:none;position:fixed;inset:0;top:64px;background:rgba(0,0,0,.4);z-index:104; }
.pnav-overlay.open { display:block; }

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width: 600px) {
  #pubnav { height: 56px; padding: 0 16px; }
  .plogo { font-size: 17px; }
  .pfulllink { font-size: 13px; padding: 9px 16px; letter-spacing: 2px; }
  .pfullmenu { padding: 70px 24px 48px; }
  .pfullmenu-btns { gap: 10px; }
  .pfullmenu-audit, .pfullmenu-dashboard { padding: 11px 22px; font-size: 11px; }
  .pfullmenu-sep { margin: 16px auto; }
}

@media (max-width: 380px) {
  .pfulllink { font-size: 12px; letter-spacing: 1.5px; }
  .pfullmenu-btns { flex-direction: column; align-items: center; width: 100%; }
  .pfullmenu-audit, .pfullmenu-dashboard { width: 100%; text-align: center; }
}

/* Dashboard popup mobile */
@media (max-width: 600px) {
  .osh-popup-inner { padding:20px 16px;border-radius:14px;max-height:calc(100dvh - 32px);overflow-y:auto;width:calc(100vw - 32px); }
  .osh-popup-icon { width:44px;height:44px;margin-bottom:10px; }
  .osh-popup-title { font-size:16px; }
  .osh-popup-desc { font-size:12px;margin-bottom:14px; }
  .osh-popup-features { padding:10px 12px;margin-bottom:14px; }
  .osh-popup-btn { padding:10px; }
}
