/**
 * AI Frame — publieke consistentie-laag.
 * De home-onepager is volledig self-contained (eigen header/footer, inline styles).
 * Over-ons/contact/auth krijgen de gedeelde AF-topbar via header.php; de
 * wrapper heeft daar padding-top:64px zodat niets onder de balk valt.
 */
.imgx-public-page { --maxw: 1280px; }

/* Contact: natuurlijke hoogte i.p.v. volledige viewport (topbar-offset zit al op de wrapper) */
.imgx-contact-page .split { min-height: auto; }

/* ═══════════════════════════════════════════════════════════════
   AUTH SPLIT-LAYOUT (inloggen / registreren) — correcties
   De plugin auth.css rekent op een standalone 100vh-pagina met het
   logo als bovenste flex-kind in .iaf-brand. Het thema heeft nu een
   64px siteheader erboven en het paneellogo is verwijderd; zonder
   deze laag plakt de mid-content bovenaan en valt de onderkant
   (stats/quote) buiten beeld.
   ═══════════════════════════════════════════════════════════════ */
/* Hoogte: viewport minus siteheader (wrapper heeft padding-top:64px) */
#imgx-page-content .iaf-page { min-height: calc(100vh - 64px) !important; height: auto !important; }

/* Brand-paneel: mid verticaal centreren in de vrije ruimte, foot/quote
   onderaan gepind (auto-marges verdelen de restruimte gelijk). */
#imgx-page-content .iaf-brand { display: flex; flex-direction: column; }
#imgx-page-content .iaf-brand-mid { margin-top: auto; margin-bottom: auto; }
#imgx-page-content .iaf-brand-foot,
#imgx-page-content .iaf-quote { margin-top: 0; }

/* Formulierzijde: kaart verticaal én horizontaal gecentreerd */
#imgx-page-content .iaf-form-side { display: flex; align-items: center; justify-content: center; }
#imgx-page-content .iaf-card { margin: auto; }

/* ═══════════════════════════════════════════════════════════════
   AI FRAME — AUTH (inloggen / registreren)
   Volledige styling voor .ia-auth-* in AI Frame-stijl. Hoge specificiteit
   (#imgx-page-content) zodat dit altijd wint van de oude plugin auth.css.
   ═══════════════════════════════════════════════════════════════ */
#imgx-page-content .ia-auth-ambient { position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background:
    radial-gradient(60vw 50vh at 78% 18%, rgba(200,162,75,0.06), transparent 60%),
    radial-gradient(50vw 40vh at 12% 88%, rgba(127,176,196,0.05), transparent 60%); }
#imgx-page-content .ia-auth { position: relative; z-index: 1; min-height: calc(100vh - 64px);
  display: flex; align-items: center; justify-content: center; padding: clamp(24px,5vw,64px) clamp(16px,4vw,48px);
  font-family: 'Manrope', -apple-system, sans-serif; color: #1E1C19; }
#imgx-page-content .ia-auth-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.05fr);
  gap: clamp(24px,4vw,56px); align-items: center; width: 100%; max-width: 1120px; }
@media (max-width: 900px){ #imgx-page-content .ia-auth-grid { grid-template-columns: 1fr; max-width: 460px; }
  #imgx-page-content .ia-auth-showcase { display: none; } }

/* Form kop */
#imgx-page-content .ia-auth-top { margin-bottom: 24px; }
#imgx-page-content .ia-auth-kicker { display: inline-flex; align-items: center; gap: 8px;
  font-family: 'Space Mono', monospace; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #B49A3E; }
#imgx-page-content .ia-auth-kicker .pulse { width: 7px; height: 7px; border-radius: 50%; background: #C8A24B;
  box-shadow: 0 0 0 0 rgba(200,162,75,0.5); animation: iaPulse 2s infinite; }
@keyframes iaPulse { 0%{box-shadow:0 0 0 0 rgba(200,162,75,0.5)} 70%{box-shadow:0 0 0 8px rgba(200,162,75,0)} 100%{box-shadow:0 0 0 0 rgba(200,162,75,0)} }
#imgx-page-content .ia-auth-top h1 { font-family: 'Archivo', sans-serif; font-weight: 900; font-size: clamp(28px,4vw,42px);
  line-height: 1.08; letter-spacing: -0.02em; color: #1E1C19; margin: 14px 0 0; }
#imgx-page-content .ia-auth-top h1 em { font-style: normal; color: #C8A24B; }
#imgx-page-content .ia-auth-lede { font-size: 15px; color: rgba(30,28,25,0.55); line-height: 1.6; margin-top: 12px; max-width: 420px; }

/* Kaart */
#imgx-page-content .ia-auth-card { position: relative; background: #FFFFFF; border: 1px solid #E8E3DB; border-radius: 12px;
  padding: 28px; display: flex; flex-direction: column; gap: 18px; box-shadow: 0 1px 3px rgba(0,0,0,0.03), 0 12px 40px rgba(0,0,0,0.04); }
#imgx-page-content .ia-auth-card::before, #imgx-page-content .ia-auth-card::after { content:''; position: absolute; width: 16px; height: 16px; pointer-events: none; }
#imgx-page-content .ia-auth-card::before { top:-1px; left:-1px; border-top: 2.5px solid #C8A24B; border-left: 2.5px solid #C8A24B; border-radius: 12px 0 0 0; }
#imgx-page-content .ia-auth-card::after { bottom:-1px; right:-1px; border-bottom: 2.5px solid #C8A24B; border-right: 2.5px solid #C8A24B; border-radius: 0 0 12px 0; }

#imgx-page-content .ia-auth-err { display: none; background: rgba(181,55,55,0.08); border: 1px solid rgba(181,55,55,0.25);
  color: #9B2C2C; font-size: 13px; padding: 10px 12px; border-radius: 8px; }
#imgx-page-content .ia-auth-err.is-on { display: block; }

#imgx-page-content .ia-auth-row { display: flex; flex-direction: column; gap: 7px; }
#imgx-page-content .ia-auth-lbl { font-size: 13px; font-weight: 600; color: #1E1C19; }
#imgx-page-content .ia-auth-lbl-row { display: flex; align-items: baseline; justify-content: space-between; }
#imgx-page-content .ia-auth-opt { font-weight: 400; color: rgba(30,28,25,0.4); }
#imgx-page-content .ia-auth-tiny { font-size: 12px; color: #B49A3E; }
#imgx-page-content .ia-auth-input { width: 100%; background: #FAFAF7; border: 1px solid #DDD8D0; border-radius: 8px;
  padding: 11px 13px; font-size: 14px; font-family: 'Manrope', sans-serif; color: #1E1C19; transition: border-color .18s, box-shadow .18s; }
#imgx-page-content .ia-auth-input::placeholder { color: rgba(30,28,25,0.32); }
#imgx-page-content .ia-auth-input:focus { outline: none; border-color: #C8A24B; box-shadow: 0 0 0 3px rgba(200,162,75,0.12); background: #FFFFFF; }
#imgx-page-content .ia-auth-input-wrap { position: relative; }
#imgx-page-content .ia-auth-input-wrap .ia-auth-input { padding-right: 42px; }
#imgx-page-content .ia-auth-reveal { position: absolute; top: 50%; right: 8px; transform: translateY(-50%);
  width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; background: none; border: none; cursor: pointer; color: rgba(30,28,25,0.4); }
#imgx-page-content .ia-auth-reveal:hover { color: #C8A24B; }
#imgx-page-content .ia-auth-reveal svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.4; }
#imgx-page-content .ia-auth-hint { font-size: 12px; color: rgba(30,28,25,0.4); }
#imgx-page-content .ia-auth-hint-ok { color: #5B8C5A; }
#imgx-page-content .ia-auth-hint-err { color: #B53737; }

/* Checkbox */
#imgx-page-content .ia-auth-check { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; color: rgba(30,28,25,0.6); line-height: 1.5; cursor: pointer; }
#imgx-page-content .ia-auth-check input { position: absolute; opacity: 0; width: 0; height: 0; }
#imgx-page-content .ia-auth-check-box { flex-shrink: 0; width: 20px; height: 20px; border: 1px solid #DDD8D0; border-radius: 6px; background: #FAFAF7; display: flex; align-items: center; justify-content: center; transition: background .15s, border-color .15s; margin-top: 1px; }
#imgx-page-content .ia-auth-check-box svg { width: 12px; height: 12px; fill: none; stroke: #FAFAF7; stroke-width: 2; opacity: 0; }
#imgx-page-content .ia-auth-check.is-checked .ia-auth-check-box { background: #C8A24B; border-color: #C8A24B; }
#imgx-page-content .ia-auth-check.is-checked .ia-auth-check-box svg { opacity: 1; }
#imgx-page-content .ia-auth-check a { color: #B49A3E; }

/* Wachtwoordmeter */
#imgx-page-content .ia-auth-meter { display: flex; align-items: center; gap: 10px; margin-top: 2px; }
#imgx-page-content .ia-auth-meter-bar { flex: 1; height: 5px; background: #ECE8E0; border-radius: 3px; overflow: hidden; }
#imgx-page-content .ia-auth-meter-fill { height: 100%; width: 0; background: #C8A24B; border-radius: 3px; transition: width .3s, background .3s; }
#imgx-page-content .ia-auth-meter-lbl { font-family: 'Space Mono', monospace; font-size: 11px; color: rgba(30,28,25,0.4); white-space: nowrap; }

/* Knop */
#imgx-page-content .ia-auth-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: #1E1C19; color: #FAFAF7; border: none; border-radius: 8px; padding: 13px 20px; font-size: 15px; font-weight: 600;
  font-family: 'Manrope', sans-serif; cursor: pointer; transition: background .2s, transform .2s; margin-top: 2px; }
#imgx-page-content .ia-auth-btn:hover { background: #3a3632; }
#imgx-page-content .ia-auth-btn:disabled { opacity: 0.6; cursor: default; }
#imgx-page-content .ia-auth-btn svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; }
#imgx-page-content .ia-auth-foot { font-size: 13px; color: rgba(30,28,25,0.5); text-align: center; }
#imgx-page-content .ia-auth-foot a { color: #B49A3E; font-weight: 600; }

/* Showcase-paneel */
#imgx-page-content .ia-auth-showcase { position: relative; background: linear-gradient(155deg, #F5F3EF 0%, #F0EBDF 100%);
  border: 1px solid #E8E3DB; border-radius: 14px; overflow: hidden; box-shadow: 0 4px 24px rgba(0,0,0,0.04); }
#imgx-page-content .ia-auth-showcase::before, #imgx-page-content .ia-auth-showcase::after { content:''; position: absolute; width: 24px; height: 24px; pointer-events: none; z-index: 2; }
#imgx-page-content .ia-auth-showcase::before { top:-1px; left:-1px; border-top: 2.5px solid #C8A24B; border-left: 2.5px solid #C8A24B; border-radius: 14px 0 0 0; }
#imgx-page-content .ia-auth-showcase::after { bottom:-1px; right:-1px; border-bottom: 2.5px solid #C8A24B; border-right: 2.5px solid #C8A24B; border-radius: 0 0 14px 0; }
#imgx-page-content .ia-auth-sc-bar { display: flex; align-items: center; gap: 8px; padding: 14px 18px; border-bottom: 1px solid #E8E3DB; background: rgba(255,255,255,0.4); }
#imgx-page-content .ia-auth-dot { width: 10px; height: 10px; border-radius: 50%; }
#imgx-page-content .ia-auth-dot.r { background: #E0A0A0; } #imgx-page-content .ia-auth-dot.y { background: #E6C87A; } #imgx-page-content .ia-auth-dot.g { background: #A6C6A6; }
#imgx-page-content .ia-auth-title { font-family: 'Space Mono', monospace; font-size: 12px; color: rgba(30,28,25,0.5); margin-left: 6px; }
#imgx-page-content .ia-auth-title .ml { color: #B49A3E; margin-left: 4px; }
#imgx-page-content .ia-auth-sc-body { padding: clamp(24px,3vw,36px); }
#imgx-page-content .ia-auth-sc-tag { font-family: 'Space Mono', monospace; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: #B49A3E; }
#imgx-page-content .ia-auth-sc-quote { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: clamp(22px,2.6vw,30px); line-height: 1.15; color: #1E1C19; margin: 12px 0 24px; }
#imgx-page-content .ia-auth-sc-quote em { font-style: normal; color: #C8A24B; }
#imgx-page-content .ia-auth-sc-stats { display: flex; gap: 24px; flex-wrap: wrap; margin-bottom: 24px; }
#imgx-page-content .ia-auth-stat { display: flex; flex-direction: column; }
#imgx-page-content .ia-auth-num { font-family: 'Space Mono', monospace; font-size: 26px; font-weight: 700; color: #B49A3E; }
#imgx-page-content .ia-auth-stat-lbl { font-size: 12px; color: rgba(30,28,25,0.45); margin-top: 2px; }
#imgx-page-content .ia-auth-sc-feed, #imgx-page-content .ia-auth-sc-steps { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
#imgx-page-content .ia-auth-feed-label { font-family: 'Space Mono', monospace; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(30,28,25,0.35); margin-bottom: 4px; }
#imgx-page-content .ia-auth-feed-row, #imgx-page-content .ia-auth-sc-steps li { display: flex; align-items: center; gap: 12px; background: #FFFFFF; border: 1px solid #E8E3DB; border-radius: 8px; padding: 12px 14px; }
#imgx-page-content .ia-auth-feed-mark, #imgx-page-content .ia-auth-step-num { flex-shrink: 0; width: 34px; height: 34px; border-radius: 7px; display: flex; align-items: center; justify-content: center; font-family: 'Space Mono', monospace; font-size: 13px; font-weight: 700; color: #FAFAF7; }
#imgx-page-content .ia-auth-feed-mark.amber { background: #C8A24B; } #imgx-page-content .ia-auth-feed-mark.slate { background: #7FB0C4; } #imgx-page-content .ia-auth-feed-mark.olive { background: #A6A66A; }
#imgx-page-content .ia-auth-step-num { background: #FAF6EC; color: #B49A3E; border: 1px solid rgba(200,162,75,0.25); }
#imgx-page-content .ia-auth-feed-info, #imgx-page-content .ia-auth-step-info { flex: 1; min-width: 0; }
#imgx-page-content .ia-auth-feed-info .t, #imgx-page-content .ia-auth-step-t { font-size: 13px; font-weight: 600; color: #1E1C19; }
#imgx-page-content .ia-auth-feed-info .m, #imgx-page-content .ia-auth-step-m { font-size: 12px; color: rgba(30,28,25,0.45); margin-top: 2px; }
#imgx-page-content .ia-auth-feed-pill { font-family: 'Space Mono', monospace; font-size: 10px; text-transform: uppercase; letter-spacing: 0.06em; color: #5B8C5A; background: rgba(91,140,90,0.1); padding: 4px 8px; border-radius: 20px; }
#imgx-page-content .ia-auth-step-time { font-family: 'Space Mono', monospace; font-size: 11px; color: rgba(30,28,25,0.4); }
#imgx-page-content .ia-auth-sc-credit { display: flex; align-items: center; gap: 8px; margin-top: 24px; padding-top: 16px; border-top: 1px solid #E8E3DB; font-family: 'Space Mono', monospace; font-size: 11px; color: rgba(30,28,25,0.4); flex-wrap: wrap; }
#imgx-page-content .ia-auth-dot-live { width: 7px; height: 7px; border-radius: 50%; background: #5B8C5A; }
#imgx-page-content .ia-auth-sc-credit .ver { margin-left: auto; color: rgba(30,28,25,0.3); }

/* ── 404 (gasten) — onder de gedeelde site-header ─────────────── */
.af404 { min-height: calc(100vh - 64px); display: flex; align-items: center; justify-content: center; padding: 64px 24px; background: #FAFAF7; }
.af404-inner { max-width: 680px; text-align: center; }
.af404-code { font-family: 'Space Mono', monospace; font-size: 13px; letter-spacing: .2em; color: #C8A24B; font-weight: 700; }
.af404-title { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: clamp(30px, 4.5vw, 44px); letter-spacing: -.02em; color: #14140F; margin: 14px 0 0; }
.af404-title em { font-style: italic; color: #C8A24B; }
.af404-sub { font-size: 15px; line-height: 1.6; color: #6B6B63; margin: 16px auto 34px; max-width: 46ch; }
.af404-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.af404-card { display: flex; flex-direction: column; gap: 3px; padding: 16px 14px; background: #fff; border: 1px solid #E5E2DC; border-radius: 12px; text-decoration: none; text-align: left; transition: border-color .15s, transform .12s; }
.af404-card:hover { border-color: #C8A24B; transform: translateY(-2px); }
.af404-card-gold { background: #FCF8EF; border-color: #E8D9B8; }
.af404-card-t { font-size: 14px; font-weight: 700; color: #14140F; }
.af404-card-s { font-size: 12px; color: #9B9B93; }


/* ── Legal-pagina's voor gasten (voorwaarden + privacy, onder de site-header) ── */
.imgai-legal { background: #FAFAF7; min-height: calc(100vh - 64px); }
.imgai-legal a { color: #C8A24B; text-decoration: none; }
.imgai-legal a:hover { text-decoration: underline; }
.lgl-wrap{max-width:860px;margin:0 auto;padding:40px 28px 100px;font-family:"Manrope",-apple-system,BlinkMacSystemFont,Arial,sans-serif;font-size:14px;line-height:1.7;color:#2B2A24;}
.lgl-hero{margin-bottom:40px;padding-bottom:28px;border-bottom:1px solid #E6E4DD;}
.lgl-kicker{font-family:"Space Mono",monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#8A887E;display:inline-flex;align-items:center;gap:7px;margin-bottom:12px;}
.lgl-hero h1{font-family:"Archivo",sans-serif;font-weight:800;font-size:52px;line-height:1;letter-spacing:-.02em;color:#14140F;margin:0 0 16px;}
.lgl-hero h1 em{font-style:italic;color:#7A5C1A;}
.lgl-meta{display:flex;flex-wrap:wrap;gap:16px;font-family:"Space Mono",monospace;font-size:11px;color:#8A887E;letter-spacing:.04em;}
.lgl-meta span::before{content:"·";margin-right:8px;opacity:.4;}
.lgl-meta span:first-child::before{display:none;}
.lgl-toc{background:#F5F4F0;border:1px solid #E6E4DD;border-radius:12px;padding:20px 22px;margin-bottom:36px;}
.lgl-toc h3{font-family:"Space Mono",monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#8A887E;margin:0 0 10px;}
.lgl-toc ol{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;}
.lgl-toc li{font-size:13px;color:#5C5A52;}
.lgl-toc a{color:#5C5A52;}
.lgl-toc a:hover{color:#C8A24B;}
.lgl-s{margin-bottom:36px;}
.lgl-s h2{font-family:"Archivo",sans-serif;font-weight:700;font-size:26px;letter-spacing:-.01em;color:#14140F;margin:0 0 12px;padding-top:36px;border-top:1px solid #E6E4DD;}
.lgl-num{font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.06em;color:#C8A24B;display:block;margin-bottom:4px;}
.lgl-s p{margin:0 0 12px;}
.lgl-s ul,.lgl-s ol{margin:8px 0 16px;padding-left:20px;display:flex;flex-direction:column;gap:6px;}
.lgl-s li{color:#2B2A24;}
.lgl-s strong{color:#14140F;font-weight:600;}
.lgl-warn{background:#FEF3E2;border:1px solid rgba(200,162,75,.25);border-radius:10px;padding:14px 18px;margin:14px 0;font-size:13.5px;color:#7A5C1A;display:flex;gap:10px;align-items:flex-start;}
.lgl-warn-icon{font-size:16px;flex:none;margin-top:1px;}
.lgl-box{background:#FFFFFF;border:1px solid #E6E4DD;border-radius:10px;padding:16px 18px;margin:14px 0;font-size:13.5px;}
.lgl-box strong{color:#14140F;display:block;margin-bottom:4px;}
.lgl-contact{margin-top:48px;padding:24px;background:#14140F;border-radius:16px;color:rgba(250,250,247,.8);}
.lgl-contact h3{font-family:"Archivo",sans-serif;font-weight:700;font-size:22px;color:#fff;margin:0 0 8px;}
.lgl-contact a{color:#E5B97D;}
.lgl-contact p{font-size:13.5px;margin:0 0 8px;}
@media(max-width:768px){.lgl-wrap{padding:20px 16px 80px;}.lgl-hero h1{font-size:36px;}.lgl-s h2{font-size:22px;}}
.lgl-table{width:100%;border-collapse:collapse;margin:14px 0;font-size:13px;}
.lgl-table th{text-align:left;padding:8px 12px;background:#F5F4F0;border:1px solid #E6E4DD;font-weight:600;color:#14140F;}
.lgl-table td{padding:8px 12px;border:1px solid #E6E4DD;color:#2B2A24;vertical-align:top;}
.lgl-table tr:nth-child(even) td{background:#FAFAF7;}
.lgl-rights{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:11px;margin:14px 0;}
.lgl-right{background:#fff;border:1px solid #E6E4DD;border-radius:10px;padding:14px 16px;}
.lgl-right-icon{font-size:20px;margin-bottom:6px;}
.lgl-right-title{font-weight:600;font-size:13px;color:#14140F;margin-bottom:4px;}
.lgl-right-desc{font-size:12px;color:#5C5A52;line-height:1.5;}
@media(max-width:768px){.lgl-wrap{padding:20px 16px 80px;}.lgl-hero h1{font-size:36px;}.lgl-s h2{font-size:22px;}.lgl-rights{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.lgl-rights{grid-template-columns:1fr;}}
