.pr-assist { --assist-gold:#edd6a5; --assist-ink:#f4f9fc; color:var(--assist-ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:15px; line-height:1.55; }
.pr-assist [hidden] { display:none !important; }
.pr-assist button,.pr-assist a { font:inherit; touch-action:manipulation; }
.pr-assist-launch { position:fixed; right:22px; bottom:max(24px,env(safe-area-inset-bottom)); z-index:150; display:flex; align-items:center; gap:10px; padding:14px 20px; border:1px solid #e6d8af88; border-radius:40px; color:var(--assist-ink); background:linear-gradient(125deg,#47677cdd,#10293ced 65%); box-shadow:inset 0 1px 0 #ffffff88,0 10px 36px #00101d80; backdrop-filter:blur(18px); cursor:pointer; }
.pr-assist-launch span:first-child { color:var(--assist-gold); font-size:22px; }
.pr-assist dialog { box-sizing:border-box; width:min(410px,calc(100vw - 28px)); max-height:calc(100dvh - 28px); padding:28px; border:1px solid #c7deee80; border-radius:30px; color:var(--assist-ink); background:linear-gradient(140deg,#345065f5,#0a2034f7 55%,#1d3f54f5); box-shadow:inset 0 1px 0 #ffffff77,0 30px 100px #0009; backdrop-filter:blur(25px); }
.pr-assist dialog::backdrop { background:#00101d70; backdrop-filter:blur(4px); }
.pr-assist .pr-assist-close { float:right; width:42px; height:42px; border-radius:50%; border:1px solid #b8dbea66; background:#dae9f311; color:#f4f9fc; font-size:25px; cursor:pointer; }
.pr-assist .pr-assist-kicker { color:var(--assist-gold); font-size:11px; text-transform:uppercase; letter-spacing:.2em; margin:4px 0 14px; }
.pr-assist h2 { font-family:Georgia,serif; font-weight:400; font-size:32px; line-height:1.15; margin:12px 0; }
.pr-assist p { color:#d1e3ec; margin:12px 0; }
.pr-assist .pr-assist-orb { display:grid; place-items:center; margin:23px auto; width:88px; height:88px; border-radius:50%; background:radial-gradient(circle at 28% 20%,#fff9,transparent 40%),radial-gradient(circle at 50% 90%,#f2d49988,transparent 60%),linear-gradient(135deg,#7396a866,#092b3ed9); border:1px solid #e7d4a7a0; box-shadow:inset 0 -7px 12px #0d1b2588,inset 0 2px 2px #fff9,0 0 40px #aed4e51a; color:var(--assist-gold); font-size:33px; }
.pr-assist[data-state=active] .pr-assist-orb { box-shadow:inset 0 2px 2px #fff9,0 0 35px #63d7ff66; border-color:#92e5ff; }
.pr-assist .pr-assist-primary { display:block; width:100%; padding:14px; border:1px solid #e8d4a9; border-radius:30px; background:linear-gradient(130deg,#fff4cb,#d5b778 50%,#efdba5); color:#142536; font-weight:700; box-shadow:inset 0 2px 2px #fff9; cursor:pointer; }
.pr-assist button:disabled { cursor:not-allowed; opacity:.6; }
.pr-assist .pr-assist-links { display:flex; gap:10px; margin:14px 0; }
.pr-assist .pr-assist-links a { flex:1; padding:12px 6px; border:1px solid #b9d9eb66; border-radius:26px; text-align:center; color:#f0ead8; text-decoration:none; background:linear-gradient(120deg,#d5ebf31a,#d5ebf305); }
.pr-assist .pr-assist-note { font-size:12px; }
.pr-assist .pr-assist-note a { color:#bfe8fa; }
.pr-assist :is(button,a):focus-visible { outline:3px solid #8edcff; outline-offset:4px; }
@media(max-width:420px) { .pr-assist-launch { right:16px; bottom:20px; } .pr-assist dialog { padding:22px; } }
/* Website chat shares the crystal shell; voice starts only after its explicit button. */
.pr-assist,.pr-assist * { box-sizing:border-box; }
.pr-assist dialog { width:min(480px,calc(100vw - 24px)); padding:24px; overflow:auto; overscroll-behavior:contain; }
.pr-assist dialog header { padding-right:44px; }
.pr-assist .pr-assist-close { position:absolute; right:18px; top:18px; float:none; }
.pr-assist h2 { font-size:30px; }
.pr-assist .pr-assist-modes { display:flex; gap:6px; padding:5px; margin:18px 0 14px; border-radius:28px; background:#031a2a66; border:1px solid #c7deee40; }
.pr-assist .pr-assist-modes button { flex:1; padding:10px; border:1px solid transparent; border-radius:22px; color:#e0edf4; background:transparent; cursor:pointer; }
.pr-assist .pr-assist-modes button[aria-pressed=true] { color:#fff2cd; border-color:#e4d0a67a; background:linear-gradient(125deg,#8fa5ad33,#d6e4ec12); box-shadow:inset 0 1px 0 #ffffff50; }
.pr-assist .pr-assist-messages { list-style:none; padding:4px 3px; margin:18px 0 12px; display:flex; flex-direction:column; gap:12px; max-height:clamp(150px,32dvh,300px); overflow:auto; overscroll-behavior:contain; scrollbar-color:#9cb6c5 #102b3d; }
.pr-assist .pr-assist-message { align-self:flex-start; max-width:95%; padding:12px 15px; border-radius:19px 19px 19px 5px; border:1px solid #bfd9e633; background:#b6d4e113; }
.pr-assist .pr-assist-message[data-role=user] { align-self:flex-end; border-radius:19px 19px 5px 19px; border-color:#e2c78955; background:#c1a97522; }
.pr-assist .pr-assist-speaker { color:var(--assist-gold); font-size:11px; font-weight:700; }
.pr-assist .pr-assist-message p { white-space:pre-wrap; overflow-wrap:anywhere; margin:5px 0 0; color:#f0f6fa; font-size:14px; }
.pr-assist .pr-assist-message a { color:#bfe8fa; text-decoration:underline; text-underline-offset:3px; }
.pr-assist .pr-assist-prompts { display:flex; flex-wrap:wrap; gap:7px; }
.pr-assist .pr-assist-prompts button,.pr-assist .pr-assist-retry { color:#f2e1bf; border:1px solid #ddcca766; border-radius:20px; background:#122d40; padding:9px 13px; font-size:12px; cursor:pointer; min-height:40px; }
.pr-assist .pr-assist-web-status { min-height:20px; font-size:12px; margin:12px 0; }
.pr-assist .pr-assist-form { margin:12px 0 0; }
.pr-assist .pr-assist-form label { display:block; color:#deebf2; font-size:12px; margin-bottom:6px; }
.pr-assist .pr-assist-compose { display:flex; align-items:stretch; gap:8px; }
.pr-assist textarea { min-width:0; flex:1; resize:vertical; max-height:140px; min-height:56px; border-radius:17px; padding:12px; background:#041c2ee0; border:1px solid #b5d4e080; color:#f4f9fc; font:inherit; font-size:16px; }
.pr-assist textarea::placeholder { color:#b9cbd6; opacity:1; }
.pr-assist .pr-assist-compose button { align-self:stretch; border:1px solid #e9d6ad; border-radius:17px; padding:10px 14px; background:linear-gradient(130deg,#fff4cb,#d5b778 50%,#efdba5); color:#142536; font-weight:700; cursor:pointer; }
.pr-assist .pr-assist-footer { display:flex; justify-content:space-between; gap:12px; margin-bottom:0; }
.pr-assist .pr-assist-demo-chat { border-left:2px solid var(--assist-gold); padding-left:10px; color:#f1d9a9; }
.pr-assist :is(button,a,textarea,[tabindex]):focus-visible { outline:3px solid #8edcff; outline-offset:3px; }
@media(max-width:420px) { .pr-assist dialog { padding:18px; border-radius:24px; } .pr-assist h2 { font-size:27px; } .pr-assist .pr-assist-compose button { font-size:13px; padding:10px; } .pr-assist .pr-assist-kicker { font-size:10px; letter-spacing:.12em; } }
/* Match the booking flow's 128px action-bar budget, with a 16px gap. */
@media(max-width:899.98px) {
  body[data-booking-active] .pr-assist-launch { bottom:calc(144px + env(safe-area-inset-bottom, 0px)); }
  /* T1b-A31 (review r3 van tekenen-0057): aan het eind van een stap schuift de balk met "Terug" en "Verder" (z-index 60) omhoog langs deze knop;
     dan ligt de knop eronder, zodat een tik op "Verder" nooit de assistent opent. */
  body[data-booking-active] .pr-assist-launch { z-index:59; }
}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more) { .pr-assist dialog { background:#102b3e; backdrop-filter:none; } .pr-assist .pr-assist-message { background:#213e51; } .pr-assist .pr-assist-message[data-role=user] { background:#3d402f; } }
@media print { .pr-assist { display:none !important; } }
/* T1b-A30 (review r1 van 31 oktober 2026): op de stap "Tekenen" van de boekpagina ligt niets over "Teken", het tekenvak of de betaalknop (T1b-A11). */
body[data-booking-signing] .pr-assist-launch { display:none; }
