/* Luna Groep — shared visual language, including tools and project pages. */
:root{--luna-ink:#08243a;--luna-paper:#f8f5ef;--luna-white:#fff;--luna-sand:#eee9df;--luna-gold:#ad8858;--luna-gold-text:#80603a;--luna-muted:#52616a;--luna-line:#d9d7cf;--luna-success:#3b614d;--luna-error:#8c302d;--luna-radius:3px;--luna-font:Manrope,Arial,sans-serif;--luna-heading:Lora,Georgia,serif}
body{background:var(--luna-paper);color:var(--luna-ink);font-family:var(--luna-font);line-height:1.75}
h1,h2{font-family:var(--luna-heading);font-weight:400}h3{font-family:var(--luna-font);font-weight:600}
p{color:var(--luna-muted)}.eyebrow{color:var(--luna-gold-text)}
.top{background:var(--luna-paper);border-color:var(--luna-line)}
.button,main button:not(.menu):not(.filter):not(.branch):not([role=tab]):not(.mini):not(.mini-button){border-radius:var(--luna-radius);min-height:44px}
.button{background:var(--luna-ink);border-color:var(--luna-ink);color:var(--luna-white)}
.button.outline,.mini,.mini-button{background:transparent;color:var(--luna-ink);border:1px solid var(--luna-line);border-radius:var(--luna-radius)}
.button.light{background:var(--luna-paper);color:var(--luna-ink);border-color:var(--luna-paper)}
.button:hover{background:#183b52}.button.outline:hover,.mini:hover,.mini-button:hover{background:var(--luna-sand);color:var(--luna-ink)}
.button.light:hover{background:var(--luna-sand)}
main button:disabled{cursor:not-allowed;transform:none;opacity:.55}
input,textarea,select{font-family:var(--luna-font);border-radius:var(--luna-radius);border-color:#b9bbb5;min-height:44px;max-width:100%}
input[type=checkbox],input[type=radio]{min-height:0;accent-color:var(--luna-ink);width:20px;height:20px;flex:none}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--luna-gold);outline-offset:4px}
.service,.plan,.plan-panel,.row-card,.result-card,.form,.service-summary{border-radius:var(--luna-radius)}
.service,.plan-panel,.row-card,.result-card,.form{background:var(--luna-white);border-color:var(--luna-line)}
.service-summary,.workspace,.branch-output{background:var(--luna-sand)}
.status-pill,.badge,.tag{border-radius:var(--luna-radius)}
.navy{background:var(--luna-ink);color:var(--luna-paper)}.navy p{color:#c4cdd3}.navy .eyebrow{color:#c3a273}.navy .button:not(.light):not(.outline){background:var(--luna-paper);border-color:var(--luna-paper);color:var(--luna-ink)}.navy .button.outline{color:var(--luna-paper);border-color:#a6b4bd}
.footer{background:var(--luna-ink)}.footer p{color:#c4cdd3}.footer .brand{background:var(--luna-paper)}
/* Shared cards for the library, builder and branch configuration. */
main :is([data-strafzaken-pro],#aanvragen-module,#oplevering){background:var(--luna-white)!important;border:1px solid var(--luna-line)!important;border-top:3px solid var(--luna-gold)!important;border-radius:var(--luna-radius)!important;padding:clamp(22px,3vw,38px)!important;margin:28px auto!important;max-width:1200px!important}
main [style*="border-radius"]{border-radius:var(--luna-radius)!important}
main :is([data-strafzaken-pro],#aanvragen-module,#oplevering) h2{font-size:clamp(30px,3.5vw,46px)}
main :is([data-strafzaken-pro],#aanvragen-module,#oplevering) h3{margin-top:28px}
.tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.tools input{flex:1;min-width:min(240px,100%)}.tools select{width:auto;max-width:100%}.tools button,#catalog-download,#catalog-reset,.legacy-register button{background:var(--luna-ink);color:white;border:1px solid var(--luna-ink);padding:12px 20px;cursor:pointer;font:600 13px/1.5 var(--luna-font)}
/* Former standalone documents now share the main site shell. */
.legacy-content{padding-top:40px;padding-bottom:64px;min-height:60vh}
.legacy-content>h1,.legacy-title h1{font-size:clamp(40px,5vw,64px);max-width:900px}
.legacy-title{padding:18px 0 30px;border-bottom:1px solid var(--luna-line);margin-bottom:32px}
.legacy-title p{max-width:800px}.legacy-title .eyebrow{font:700 10px/1.5 var(--luna-font);letter-spacing:.18em;text-transform:uppercase}
.legacy-content :is(section,article){background:var(--luna-white);border:1px solid var(--luna-line);border-radius:var(--luna-radius);padding:clamp(20px,3vw,32px);margin:20px 0}
.legacy-content h2{font-size:clamp(27px,3vw,38px)}
.legacy-content :is(p,li){font-size:14px}.legacy-content :is(p,li,code,pre){overflow-wrap:anywhere}
.legacy-content a:not(.button){text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--luna-gold)}
.legacy-register article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px;border-width:1px 0 0;padding:24px 0;margin:0}
.legacy-register article p{margin:8px 0}.legacy-register .stats{display:flex;gap:16px;flex-wrap:wrap}.legacy-register .stat{flex:1;min-width:140px;background:var(--luna-sand);padding:20px;border-radius:var(--luna-radius)}.legacy-register .stat b{font:38px/1.2 var(--luna-heading);display:block;margin-bottom:8px}.legacy-register .tag{display:inline-block;background:var(--luna-sand);color:var(--luna-muted);padding:4px 9px;font-size:12px;margin:3px 4px 3px 0}.legacy-register .p1{background:#f3e5d0;color:#6f4d21}.legacy-register .muted{color:var(--luna-muted);font-size:12px}.legacy-register details{margin:16px 0}.legacy-register summary{font-weight:600;cursor:pointer}.legacy-register .empty{padding:28px}
.legacy-demo label{display:block;margin:20px 0;font-size:13px;font-weight:600}.legacy-demo :is(textarea,select){display:block;width:100%;margin-top:8px}.legacy-demo textarea{min-height:130px}.legacy-demo button{background:var(--luna-ink);color:white;border:1px solid var(--luna-ink);padding:12px 20px;cursor:pointer}.legacy-demo pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--luna-sand);padding:20px;font-size:13px}.legacy-demo .notice{background:var(--luna-sand);color:var(--luna-ink);border-left:3px solid var(--luna-gold);padding:20px}.legacy-demo small{display:block;color:var(--luna-muted)}
@media(max-width:1100px){.top{height:80px}.top .brand{width:155px}.top .brand img{height:53px}.top .menu{display:block;min-height:44px}.top .nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--luna-paper);padding:24px 32px;border-bottom:1px solid var(--luna-line);align-items:stretch;flex-direction:column;gap:16px}.top .nav.open{display:flex}.top .nav .button{display:inline-flex}.top .nav a{min-height:36px;display:flex;align-items:center}}
@media(max-width:750px){.legacy-register article{grid-template-columns:1fr;gap:8px}.legacy-content{padding-top:28px;padding-bottom:44px}.tools{align-items:stretch}.tools :is(input,select,button){width:100%;min-width:0}.top .nav{padding:22px}.service,.plan,.form,.row-card,.plan-panel{padding:24px 20px}.actions .button{max-width:100%;white-space:normal;text-align:center}main{overflow-wrap:anywhere}.plan-layout>*{min-width:0}}
@media print{.top,.footer,.menu,.legacy-content .tools{display:none!important}.legacy-content{padding:0}.legacy-content article{break-inside:avoid}body{background:white;color:#08243a}.legacy-content a{color:inherit}}

/* Readable small accents and comfortable disclosure/file controls. */
.service .index,.audience .number{color:var(--luna-gold-text)}
main summary{min-height:44px;padding-block:8px;cursor:pointer}
input[type=file]::file-selector-button{font:600 13px/1.5 var(--luna-font);background:var(--luna-ink);color:var(--luna-white);border:1px solid var(--luna-ink);border-radius:var(--luna-radius);padding:10px 14px;margin-right:12px;cursor:pointer}

/* One clear entry point, readable fields, and secondary details on request. */
.luna-chooser{padding:28px 0 12px}.luna-chooser h2{font-size:clamp(28px,3vw,40px);margin-bottom:22px}
.luna-chooser .audience{padding-right:32px}.luna-chooser .audience p{font-size:14px;max-width:32em}
.luna-tool-nav{display:flex;flex-wrap:wrap;gap:8px 24px;padding-top:20px;padding-bottom:20px;border-bottom:1px solid var(--luna-line);font-size:13px}
.luna-tool-nav a{padding:8px 0}.luna-tool-nav a[aria-current]{font-weight:700;text-decoration:underline;text-underline-offset:6px}
.luna-direct{display:flex;gap:12px 24px;align-items:center;flex-wrap:wrap;padding-top:18px;padding-bottom:18px;border-bottom:1px solid var(--luna-line)}
.luna-direct a{font-weight:700;border-bottom:1px solid var(--luna-gold);padding:5px 0}.luna-direct>span{font-size:12px;color:var(--luna-muted)}
.luna-service-search{max-width:650px;margin-bottom:22px}.luna-service-search label{display:block;font-weight:600;margin-bottom:8px}.luna-service-search p{font-size:13px;margin:8px 0}
.luna-search-empty{padding:28px;border:1px solid var(--luna-line);background:white;margin-bottom:24px}
.luna-search-empty h3{font-size:20px}.luna-search-empty p{margin-top:16px}
.filters .filter{min-height:44px;font-size:13px}
main input:not([type=checkbox]):not([type=radio]):not([type=color]),main select,main textarea{font-size:16px;line-height:1.5}
main textarea{min-height:128px}main label{line-height:1.6}
.field label,#site-builder label{font-size:14px}
.luna-form-intro{font-size:15px;border-bottom:1px solid var(--luna-line);padding-bottom:22px}
.luna-form-section{border:0;padding:0;margin:24px 0 32px;min-width:0}
.luna-form-section legend{font-size:19px;font-weight:700;margin-bottom:20px;padding:0;color:var(--luna-ink)}
.luna-field-help{font-size:13px;color:var(--luna-muted);margin:8px 0 18px;max-width:65ch}
.luna-required{font-size:12px;font-weight:400;color:var(--luna-muted)}
.luna-field-error{font-size:14px!important;font-weight:600;color:var(--luna-error)!important;margin:8px 0 14px}
[aria-invalid=true]{border:2px solid var(--luna-error)!important}
.luna-extra{border:1px solid var(--luna-line);padding:10px 18px;margin:18px 0 26px;background:var(--luna-paper);border-radius:var(--luna-radius)}
.luna-extra>summary{font-size:14px;font-weight:600;color:var(--luna-ink)}.luna-extra>summary span{font-weight:400;color:var(--luna-muted)}
.luna-extra[open]>summary{margin-bottom:16px;border-bottom:1px solid var(--luna-line)}.luna-extra>p{font-size:14px}
.luna-extra .field:last-child{margin-bottom:0}.luna-extra .form-grid{margin-bottom:12px}
.luna-password-toggle{display:block;background:transparent;color:var(--luna-ink);border:0;text-decoration:underline;text-underline-offset:4px;font-size:13px;padding:8px 0;cursor:pointer}
form .form-grid>.luna-password-toggle{grid-column:2;justify-self:start;margin-top:-10px}
#contact-form .check-label{font-size:13px;gap:12px}#contact-form .form-hint{font-size:13px}
#site-builder{max-width:920px;margin:auto}#site-builder label{display:block;font-weight:600;margin:12px 0}
#site-builder label>input:not([type=checkbox]),#site-builder label>select,#site-builder label>textarea{display:block;margin-top:8px}
#site-builder label:has(>input[type=checkbox]){display:flex;align-items:flex-start;gap:12px;font-weight:400}
#site-builder input[type=checkbox]{margin-top:3px}#site-builder input[type=color]{width:80px;min-height:48px}
#site-builder .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
#site-builder fieldset{min-width:0;border:1px solid var(--luna-line);padding:22px 26px;margin:28px 0;background:var(--luna-white)}
#site-builder legend{font-size:19px;font-weight:700;padding:0 8px}#site-builder .luna-form-heading{font:700 22px/1.4 var(--luna-font)}
#site-builder p{font-size:14px}#site-builder>label{margin-top:24px}#site-builder .luna-extra fieldset{margin:10px 0}
.luna-number-group{border:0;border-top:1px solid var(--luna-line);margin:28px 0 0;padding:22px 0 0;min-width:0}.luna-number-group legend{padding:0 14px 0 0;font-size:16px;font-weight:700}
.jr-topics>legend{font-size:15px;font-weight:600;padding:12px 0}
@media(min-width:1101px){.top .nav{gap:22px;font-size:12px}}
@media(max-width:750px){#site-builder .form-grid{grid-template-columns:1fr;gap:0}#site-builder fieldset{padding:18px 16px}.luna-extra{padding:10px 14px}.luna-direct>span{display:none}.luna-tool-nav{gap:4px 18px}.luna-form-section{margin-bottom:24px}form .form-grid>.luna-password-toggle{grid-column:1}}
@media print{.luna-direct,.luna-tool-nav,.luna-password-toggle{display:none!important}}

/* Shared seven-service preparation, matching existing form controls. */
.luna-prep-intro{display:grid;grid-template-columns:1fr 1fr;gap:32px}.luna-prep-form{max-width:720px}.luna-prep-form label{display:block;font-weight:600;margin:16px 0 8px}.luna-prep-form select,.luna-prep-form textarea{width:100%;padding:14px;font:inherit;border:1px solid var(--line,#d9d7cf);background:#fff;border-radius:3px}.luna-prep-form button{margin-top:20px}.luna-prep-output{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;background:#eee9df;padding:24px;max-width:850px}.luna-prep-form [hidden]{display:none!important}@media(max-width:650px){.luna-prep-intro{grid-template-columns:1fr}.luna-prep-form button{width:100%}}

/* Cross-site review: readable status table on narrow screens. */
.luna-status-table{width:100%;border-collapse:collapse;text-align:left;font-size:1rem}.luna-status-table th,.luna-status-table td{padding:1rem .8rem;border-bottom:1px solid #c9c0b1;vertical-align:top}.luna-status-table th{color:#08243a}.luna-status-table th:first-child{min-width:10rem}.luna-status-table td:last-child{min-width:16rem}.luna-status-table a{color:inherit;text-decoration:underline}

@media(max-width:700px){.luna-status-table,.luna-status-table tbody,.luna-status-table tr,.luna-status-table th,.luna-status-table td{display:block;width:100%}.luna-status-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.luna-status-table tr{padding:.7rem 0;border-bottom:1px solid #c9c0b1}.luna-status-table th,.luna-status-table td{padding:.4rem 0;border:0;min-width:0!important}.luna-status-table td::before{content:attr(data-label) ": ";font-weight:700}.luna-status-table th{font-size:1.1rem}}

/* Public usability review, October 2026. */
:root{scroll-padding-top:100px}main [id]{scroll-margin-top:110px}
button:disabled,.button[aria-disabled=true]{opacity:.65;cursor:wait}
.request-preview{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;font:inherit}
.nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
.luna-access-note{padding:24px;border-left:3px solid var(--luna-gold,#ad8858);background:var(--luna-sand,#eee9df);margin:24px 0}
.luna-access-note p{max-width:65ch}.luna-access-note .actions{margin-top:18px}
@media(max-width:1100px){.top .nav{max-height:calc(100dvh - 80px);overflow:auto}.top .nav a{min-height:44px}}
@media(max-width:600px){.actions{gap:12px}.actions .button{white-space:normal;max-width:100%}.request-preview{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
