@font-face{font-family:QRBBody;src:url(fonts/Barlow-Medium.ttf) format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:QRBMinimal;src:url(fonts/BarlowCondensed-ExtraBold.ttf) format('truetype');font-weight:800;font-display:swap}
@font-face{font-family:QRBPlayful;src:url(fonts/LilitaOne-Regular.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:QRBRetro;src:url(fonts/AlfaSlabOne-Regular.ttf) format('truetype');font-weight:400;font-display:swap}
.qrb-app{--qrb-blue:#1957c8;--qrb-ink:#182b43;--qrb-muted:#526274;--qrb-border:#dce3ec;max-width:1260px;margin:30px auto;color:var(--qrb-ink);font:500 16px/1.5 QRBBody,Arial,sans-serif;text-align:left}
.qrb-app *{box-sizing:border-box}
.qrb-app [hidden]{display:none!important}
.qrb-app .qrb-heading{max-width:760px;margin:0 0 26px}
.qrb-app .qrb-eyebrow{display:block;font-size:12px;letter-spacing:.12em;font-weight:700;color:var(--qrb-blue);margin-bottom:10px}
.qrb-app .qrb-heading h2{font-family:inherit;font-size:clamp(26px,3vw,38px);line-height:1.12;color:var(--qrb-ink);margin:0 0 12px;font-weight:700;text-transform:none}
.qrb-app p{margin:0 0 12px}.qrb-app .qrb-heading p{font-size:18px;color:var(--qrb-muted)}
.qrb-app .qrb-workspace{display:grid;grid-template-columns:minmax(300px,.88fr) minmax(360px,1.12fr);gap:28px;align-items:start}
.qrb-app .qrb-controls{min-width:0}
.qrb-app .qrb-step{background:#fff;border:1px solid var(--qrb-border);border-radius:16px;padding:22px;margin:0 0 16px}
.qrb-app .qrb-step h3{display:flex;align-items:center;gap:10px;color:var(--qrb-ink);font:700 19px/1.3 QRBBody,Arial,sans-serif;margin:0 0 18px;letter-spacing:0;text-transform:none}
.qrb-app .qrb-step h3 span{display:inline-grid;place-items:center;background:#ecf2fc;color:var(--qrb-blue);width:29px;height:29px;font-size:14px;border-radius:50%;flex-shrink:0}
.qrb-app label{display:block;color:var(--qrb-ink);font:500 14px/1.4 QRBBody,Arial,sans-serif;margin:0 0 14px}
.qrb-app input:not([type=color]):not([type=checkbox]):not([type=file]),.qrb-app select,.qrb-app textarea{display:block;width:100%;max-width:100%;margin:6px 0 0;border:1px solid #b8c6d7;border-radius:8px;box-shadow:none;background:#fff;color:#182b43;font:500 16px/1.4 QRBBody,Arial,sans-serif;padding:10px 12px;min-height:44px;outline-offset:3px;text-transform:none}
.qrb-app textarea{resize:vertical;min-height:86px}
.qrb-app select{padding-right:30px}.qrb-app input:focus-visible,.qrb-app select:focus-visible,.qrb-app textarea:focus-visible,.qrb-app button:focus-visible,.qrb-app a:focus-visible{outline:3px solid #87b4ff;outline-offset:3px}
.qrb-app .qrb-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:46px;border:1px solid var(--qrb-blue);border-radius:9px;background:var(--qrb-blue);color:#fff;box-shadow:none;padding:10px 18px;margin:0;letter-spacing:0;font:600 15px/1.3 QRBBody,Arial,sans-serif;text-transform:none;text-decoration:none;cursor:pointer;white-space:normal;transition:background .15s}
.qrb-app .qrb-button:hover{background:#13439a;color:white}.qrb-app .qrb-secondary{background:white;color:var(--qrb-blue)}.qrb-app .qrb-secondary:hover{background:#edf3ff;color:#13439a}
.qrb-app button:disabled{opacity:.5;cursor:not-allowed}
.qrb-app .qrb-search-button{width:100%;margin:0 0 12px}
.qrb-app .qrb-search-mount{margin-bottom:12px;min-width:0}.qrb-app gmp-place-autocomplete{width:100%;color-scheme:light}
.qrb-app .qrb-note{font-size:13px;color:var(--qrb-muted);line-height:1.45;margin:8px 0 12px}
.qrb-app .qrb-link-test{font-size:14px;color:var(--qrb-blue);text-decoration:underline}
.qrb-app .qrb-styles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px}
.qrb-app .qrb-style{display:flex;flex-direction:column;align-items:center;gap:8px;border:2px solid var(--qrb-border);border-radius:11px;background:#fff;padding:9px 6px;color:var(--qrb-ink);font:500 14px/1.2 QRBBody,Arial,sans-serif;letter-spacing:0;text-transform:none;margin:0;min-width:0;height:auto;cursor:pointer}
.qrb-app .qrb-style[aria-pressed=true]{border-color:var(--qrb-blue);background:#f0f5ff}
.qrb-app .qrb-style canvas{display:block;width:100%;height:auto;aspect-ratio:1000/1414;border-radius:4px;box-shadow:0 1px 5px #16264020}
.qrb-app .qrb-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.qrb-app .qrb-colors{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px}.qrb-app .qrb-colors label{display:flex;gap:7px;align-items:center;font-size:13px;margin:0}
.qrb-app input[type=color]{display:block;width:34px;height:34px;border:1px solid #b8c6d7;padding:2px;border-radius:5px;background:#fff;cursor:pointer}
.qrb-app input[type=file]{display:block;width:100%;font-size:13px;margin-top:8px}
.qrb-app .qrb-text-button{padding:4px 0;border:none;background:none;color:var(--qrb-blue);font:500 13px/1.4 QRBBody,Arial,sans-serif;min-height:30px;text-decoration:underline;letter-spacing:0;text-transform:none;cursor:pointer;margin:0}
.qrb-app .qrb-preview-panel{position:sticky;top:28px;padding:22px;background:#eef2f7;border:1px solid var(--qrb-border);border-radius:18px;min-width:0}
.qrb-app .qrb-preview-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 18px;font-size:14px}
.qrb-app .qrb-preview-badge{font-size:12px;padding:4px 9px;border-radius:20px;background:#dbe8ff;color:#164087}
.qrb-app .qrb-canvas{display:block;width:100%;max-width:490px;height:auto;margin:0 auto;background:#fff;box-shadow:0 8px 28px #14263f26;aspect-ratio:1000/1414}
.qrb-app .qrb-preview-caption{text-align:center;font-size:12px;color:var(--qrb-muted);margin:12px 0 18px}
.qrb-app .qrb-downloads{display:grid;grid-template-columns:1fr 1fr;gap:10px}.qrb-app .qrb-downloads button{width:100%}
.qrb-app .qrb-status{font-size:14px;color:#235a38;min-height:22px;margin:12px 0 0;overflow-wrap:anywhere}.qrb-app .qrb-status[data-error=true]{color:#a52c22}
.qrb-app .qrb-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border:1px solid #d7e5fc;background:#f3f7ff;border-radius:16px;margin:28px 0 0}
.qrb-app .qrb-cta h3{font:700 19px/1.3 QRBBody,Arial,sans-serif;color:var(--qrb-ink);margin:0 0 5px;text-transform:none}.qrb-app .qrb-cta p{font-size:15px;color:var(--qrb-muted);margin:0}.qrb-app .qrb-cta a{flex-shrink:0}
.qrb-app .qrb-format{max-width:240px;margin-top:0}
@media(max-width:800px){.qrb-app .qrb-workspace{grid-template-columns:1fr}.qrb-app .qrb-preview-panel{position:static}.qrb-app .qrb-step{padding:18px}.qrb-app .qrb-cta{flex-direction:column;align-items:flex-start}.qrb-app .qrb-styles{max-width:440px}.qrb-app .qrb-row{grid-template-columns:1fr}.qrb-app .qrb-canvas{max-width:430px}}
@media(prefers-reduced-motion:reduce){.qrb-app *{transition:none!important}}

/* Nine designs remain in three compact columns. */
.qrb-app .qrb-format{max-width:100%}

.qrb-app input[type=range]{padding:0;cursor:pointer;accent-color:var(--qrb-blue);border:0;background:transparent}
.qrb-app label output{float:right;color:var(--qrb-muted);font-size:13px;font-weight:500}

/* Duidelijke kop boven de tekstkeuze in stap 2. */
.qrb-app .qrb-text-choice-heading{margin:0 0 12px;color:var(--qrb-ink);font:700 16px/1.4 QRBBody,Arial,sans-serif}



/* 1.2.11: NFC-keuzes als volwaardige stap 4. */
.qrb-app .qrb-nfc-step .qrb-text-choice-heading{margin-bottom:14px}
.qrb-app .qrb-nfc-choices{display:grid;gap:10px}
.qrb-app .qrb-choice-card{display:grid;grid-template-columns:22px 1fr;column-gap:12px;row-gap:3px;align-items:start;padding:12px 13px;border:1px solid #cfd9e6;border-radius:12px;background:#f9fbfe;cursor:pointer;transition:border-color .15s, background .15s, box-shadow .15s;margin:0}
.qrb-app .qrb-choice-card:hover{background:#f3f7ff;border-color:#b9cae8}
.qrb-app .qrb-choice-card input[type=radio]{grid-row:1 / span 2;grid-column:1;width:18px;height:18px;margin:2px 0 0;accent-color:var(--qrb-blue)}
.qrb-app .qrb-choice-main{grid-column:2;color:var(--qrb-ink);font:700 15px/1.35 QRBBody,Arial,sans-serif}
.qrb-app .qrb-choice-sub{grid-column:2;color:var(--qrb-muted);font:500 13px/1.45 QRBBody,Arial,sans-serif}
.qrb-app .qrb-choice-card.is-selected{border-color:var(--qrb-blue);background:#eef4ff;box-shadow:0 0 0 1px #d7e5ff inset}
.qrb-app .qrb-choice-card.is-disabled{opacity:.58;cursor:not-allowed}
.qrb-app .qrb-nfc-note{margin:12px 0 0}
.qrb-app .qrb-nfc-card-note{margin:10px 0 0}
/* Premium uses the existing designer card without showing classic-only fields. */
.qrb-app .qrb-step h3 .qrb-step-style-heading{display:inline;background:transparent;color:inherit;width:auto;height:auto;border-radius:0;font-size:inherit;font-weight:inherit;flex-shrink:1}

/* 1.3.5: a 3x3 scrollable gallery for growing design collections. */
.qrb-app .qrb-styles{max-height:570px;overflow-y:auto;overscroll-behavior:contain;align-content:start;padding:4px 8px 4px 2px;scrollbar-gutter:stable;}
.qrb-app .qrb-style{align-self:start;}
@media(max-width:550px){.qrb-app .qrb-styles{max-height:490px;}}

/* 1.3.8: server-side SEO-koppen en vrij bewerkbare paginainhoud. */
.qrb-app .qrb-heading{max-width:1080px;margin-bottom:24px}
.qrb-app .qrb-heading h1{font-family:inherit;font-size:clamp(27px,3vw,40px);line-height:1.18;color:var(--qrb-ink);margin:0 0 14px;font-weight:700;letter-spacing:normal;text-transform:none}
.qrb-app .qrb-heading h2,.qrb-app .qrb-seo-section h2{font-family:inherit;font-size:clamp(22px,2.1vw,28px);line-height:1.25;color:var(--qrb-ink);margin:20px 0 12px;font-weight:700;letter-spacing:normal;text-transform:none}
.qrb-app .qrb-heading .qrb-intro p{font-size:17px;line-height:1.65;color:var(--qrb-muted);margin:0 0 12px}
.qrb-app .qrb-seo-section{margin:36px 0 0;max-width:1020px}
.qrb-app .qrb-seo-section h2{margin-top:0}
.qrb-app .qrb-seo-text p{font-size:16px;line-height:1.7;color:var(--qrb-muted);margin:0 0 14px}
