/* Meetingroom boeken: formule, dag, gegevens, betalen. Rustig, stap voor stap, in de huisstijl. */
.rb-head{max-width:640px;margin-bottom:clamp(24px,4vw,40px)}
.rb-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(20px,3.5vw,56px);align-items:start}
@media (max-width:900px){.rb-grid{grid-template-columns:1fr}}
.rb-step{background:var(--white);color:var(--ink);border-radius:var(--r-lg);padding:clamp(18px,3vw,28px);box-shadow:inset 0 0 0 1px var(--line-soft);margin-bottom:16px;transition:opacity .25s var(--ease)}
.rb-step h2,.rb-done h2{color:var(--ink)}
.rb-done .card{color:var(--ink)}
.rb-done .lede{color:var(--ink-2)}
.rb-done .kv{color:var(--ink)}
.rb-step.is-locked{opacity:.5;pointer-events:none}
.rb-step header{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.rb-step h2{font-size:clamp(20px,2.4vw,26px);margin:0}
.rb-n{width:30px;height:30px;border-radius:50%;background:var(--olive);color:#fff;font-family:var(--sans);font-weight:700;font-size:13px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.rb-step.is-done .rb-n{background:var(--matcha);color:var(--olive-dark)}
/* De dag als strook: twee helften naast elkaar, de hele dag als brede balk eronder. */
.rb-day{display:grid;gap:10px}
.rb-axis{display:flex;justify-content:space-between;font-family:var(--sans);font-size:11.5px;letter-spacing:.1em;color:var(--mute);padding:0 4px 2px}
.rb-halves{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rb-half,.rb-full,.rb-test{position:relative;text-align:left;border:0;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line-soft);border-radius:12px;cursor:pointer;font:inherit;color:var(--ink);transition:box-shadow .15s var(--ease),background-color .15s var(--ease),transform .12s var(--ease)}
.rb-half:hover,.rb-full:hover,.rb-test:hover{box-shadow:inset 0 0 0 1px var(--olive)}
.rb-half:active,.rb-full:active,.rb-test:active{transform:scale(.99)}
.rb-half.on,.rb-full.on,.rb-test.on{background:var(--matcha);box-shadow:inset 0 0 0 2px var(--olive)}
.rb-half{padding:16px 18px 18px}
.rb-half .eyebrow{display:block;margin-bottom:5px}
.rb-day .tm{display:block;font-family:var(--head);font-weight:600;font-size:21px;letter-spacing:-.01em;color:var(--ink);white-space:nowrap;font-style:normal}
.rb-day .pr{display:block;margin-top:9px;font-family:var(--sans);font-weight:700;font-size:17px;font-style:normal}
.rb-day .pr span{font-weight:500;color:var(--ink-3);font-size:14px}
.rb-day small{display:block;color:var(--ink-3);font-size:13px;margin-top:2px;font-family:var(--sans)}
.rb-or{display:flex;align-items:center;gap:12px;color:var(--mute);font-family:var(--sans);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin:2px 0}
.rb-or::before,.rb-or::after{content:"";flex:1;height:1px;background:var(--line-soft)}
.rb-full{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 50px 18px 18px}
.rb-full .fr{text-align:right}
.rb-full .fr .pr{margin-top:0}
@media (max-width:520px){.rb-halves{grid-template-columns:1fr}.rb-full{align-items:flex-start;flex-direction:column;gap:6px}.rb-full .fr{text-align:left}}
.rb-test{margin-top:4px;padding:11px 14px;font-family:var(--sans);font-size:13.5px;font-weight:600;color:var(--ink-3);background:transparent;box-shadow:inset 0 0 0 1px var(--line-soft)}
.rb-test span{font-weight:500;color:var(--mute)}
.rb-day .tick{position:absolute;top:12px;right:12px;width:24px;height:24px;border-radius:50%;background:var(--olive);z-index:2;display:none;align-items:center;justify-content:center}
.rb-usp{display:grid;gap:10px;margin-top:6px}
.rb-inc{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line-soft)}
.rb-inc .check{font-size:16px}
@media (max-width:640px){.rb-inc{grid-template-columns:1fr}}
.rb-half.on .tick,.rb-full.on .tick{display:inline-flex}
.rb-cal-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.rb-cal-h b{font-family:var(--head);font-size:18px;font-weight:600}
.rb-cal-nav{width:40px;height:40px;border-radius:50%;border:0;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line-soft);cursor:pointer;font-size:18px;color:var(--ink);transition:box-shadow .15s var(--ease)}
.rb-cal-nav:hover{box-shadow:inset 0 0 0 1px var(--olive)}
.rb-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.rb-dow{font-family:var(--sans);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);text-align:center;padding:4px 0}
.rb-d{aspect-ratio:1;border:0;border-radius:10px;background:var(--paper);font-family:var(--sans);font-size:15px;font-weight:600;color:var(--ink);cursor:pointer;box-shadow:inset 0 0 0 1px var(--line-soft);transition:box-shadow .15s var(--ease),transform .12s var(--ease)}
.rb-d:hover{box-shadow:inset 0 0 0 1px var(--olive)}
.rb-d:active{transform:scale(.96)}
.rb-d.off{background:transparent;color:var(--mute);box-shadow:none;cursor:default;font-weight:500;text-decoration:line-through;text-decoration-color:var(--line)}
.rb-d.off:hover{box-shadow:none}
.rb-d.ask{text-decoration:none;color:var(--ink-3);background:transparent;box-shadow:inset 0 0 0 1px var(--line-soft);cursor:default}
/* In optie (22/10): niet online te boeken, een tik opent een mail. Stippelrand in de huiskleur, zodat hij niet op een vrije dag lijkt. */
.rb-d.optie{background:transparent;color:var(--ink-3);box-shadow:none;outline:1.5px dashed var(--olive);outline-offset:-3px;cursor:pointer;font-weight:500}
.rb-d.optie:hover{background:var(--paper)}
.rb-legend i.optie{background:transparent;box-shadow:none;outline:1.5px dashed var(--olive);outline-offset:-2px}
.rb-legend a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.rb-d.out{visibility:hidden}
.rb-d.on{background:var(--olive);color:#fff;box-shadow:none}
.rb-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-family:var(--sans);font-size:12.5px;color:var(--ink-3)}
.rb-legend i{display:inline-block;width:12px;height:12px;border-radius:4px;vertical-align:-1px;margin-right:6px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line-soft)}
.rb-legend i.on{background:var(--olive);box-shadow:none}
.rb-legend i.off{background:transparent;box-shadow:none;position:relative}
.rb-legend i.off::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:var(--line)}
.rb-form{display:grid;gap:12px}
.rb-form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:640px){.rb-form .two{grid-template-columns:1fr}}
.rb-form textarea.input{min-height:92px;resize:vertical}
.rb-sub{font-family:var(--sans);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--olive-deep);font-weight:700;margin-top:8px}
.rb-cats{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media (max-width:640px){.rb-cats{grid-template-columns:1fr}}
.rb-chk{display:flex;align-items:flex-start;gap:10px;background:var(--paper);border-radius:10px;padding:12px 13px;box-shadow:inset 0 0 0 1px var(--line-soft);cursor:pointer;font-family:var(--sans);font-size:15px;transition:box-shadow .15s var(--ease)}
.rb-chk:hover{box-shadow:inset 0 0 0 1px var(--olive)}
.rb-chk input{width:18px;height:18px;accent-color:var(--olive);margin:1px 0 0;flex:0 0 auto}
.rb-chk b{display:block;font-weight:600}
.rb-chk small{display:block;color:var(--ink-3);font-size:13px;line-height:1.35;margin-top:3px}
.rb-chk.terms{background:transparent;box-shadow:none;padding:4px 0;align-items:flex-start;font-size:14px;color:var(--ink-2)}
.rb-chk.terms input{margin-top:2px}
.rb-side{position:sticky;top:96px}
.rb-sum{background:var(--olive);color:#fff;border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:10px}
.rb-sum .eyebrow{color:var(--matcha)}
.rb-sum .kv{display:flex;justify-content:space-between;gap:12px;font-family:var(--sans);font-size:15px;color:rgba(255,255,255,.88)}
.rb-sum .kv b{color:#fff;text-align:right;font-weight:600}
.rb-sum .kv b.dim{color:rgba(255,255,255,.55);font-weight:500}
.rb-sum .kv.tot{font-weight:700;font-size:18px;color:#fff;border-top:1px solid rgba(255,255,255,.25);padding-top:12px;margin-top:4px}
.rb-sum .kv.tot b{font-size:18px;font-weight:700}
.rb-sum .btn{margin-top:8px;width:100%}
.rb-sum .btn:disabled{opacity:.55;cursor:default}
.rb-sum .note{color:var(--matcha);margin:0}
.rb-sum .err{color:#fff;background:rgba(43,43,34,.28);border-radius:8px;padding:8px 10px;font-family:var(--sans);font-size:14px}
.rb-done{max-width:640px;margin:clamp(36px,6vw,80px) auto 0}
.rb-done .card{gap:12px}
.rb-done .kv{display:flex;justify-content:space-between;gap:12px;font-family:var(--sans);font-size:15px;padding:8px 0;border-bottom:1px solid var(--line-soft)}
.rb-done .kv b{font-weight:600;text-align:right}
.rb-spin{display:inline-block;width:18px;height:18px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--olive);animation:rbspin .8s linear infinite;vertical-align:-3px;margin-right:8px}
@keyframes rbspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.rb-spin{animation:none}}
.rb-chk b{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.rb-chk b i{font-style:normal;font-weight:700;color:var(--olive-deep);white-space:nowrap;font-size:14px}
