.booking-shell{max-width:920px;margin:0 auto}.booking-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0 28px}.booking-progress span{padding:10px 8px;border:1px solid #d7dee8;border-radius:10px;text-align:center;font-size:.9rem;background:#fff}.booking-progress span.active{border-color:#ef6c00;background:#fff6ef;font-weight:700}.booking-card{background:#fff;border:1px solid #dbe3ec;border-radius:16px;padding:24px;margin:18px 0;box-shadow:0 8px 24px rgba(15,39,71,.06)}.booking-card h2{margin-top:0}.booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.booking-grid .wide{grid-column:1/-1}.booking-card label{display:flex;flex-direction:column;gap:6px;font-weight:700}.booking-card input,.booking-card select,.booking-card textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #b9c5d3;border-radius:8px;font:inherit;background:#fff}.booking-card input:focus,.booking-card select:focus,.booking-card textarea:focus{outline:2px solid #ef6c00;outline-offset:1px}.booking-status{padding:14px 16px;border-radius:10px;background:#eef6fb;border:1px solid #b7d5e8;margin:14px 0}.booking-status.error{background:#fff1f0;border-color:#e7aaa6}.booking-status.success{background:#eef8f0;border-color:#acd1b3}.booking-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.booking-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.booking-slot{appearance:none;border:2px solid #ef6c00;background:#fff;color:#0f2747;border-radius:12px;padding:14px;text-align:left;font:inherit;cursor:pointer}.booking-slot:hover,.booking-slot:focus{background:#fff6ef}.booking-slot strong{display:block;font-size:1.05rem}.booking-muted{color:#5c6875;font-size:.94rem}.booking-hidden{display:none!important}.booking-summary{display:grid;gap:8px;margin:12px 0}.booking-summary div{padding:10px 12px;border-left:3px solid #ef6c00;background:#f7f9fc}.booking-security{font-size:.9rem;color:#52606d;margin-top:18px}.booking-spinner{display:inline-block;width:16px;height:16px;border:2px solid #ccd5df;border-top-color:#ef6c00;border-radius:50%;animation:dp-spin .8s linear infinite;vertical-align:-3px;margin-right:7px}@keyframes dp-spin{to{transform:rotate(360deg)}}@media(max-width:700px){.booking-progress{grid-template-columns:repeat(2,1fr)}.booking-grid,.booking-slots{grid-template-columns:1fr}.booking-card{padding:18px}}

[data-agenda-flow][hidden]{display:none!important}
[data-agenda-notice]{margin-top:1rem;line-height:1.6}

/* Klantgerichte inlogkeuze */
.login-choice{max-width:760px}.login-choice h1{margin-bottom:.35rem}.login-intro{max-width:620px;font-size:1.1rem;margin-bottom:1.4rem}.customer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.customer-action-card{display:flex;flex-direction:column;min-height:250px;border:2px solid #ef6c00}.customer-action-card p{flex:1}.customer-action-kicker{font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#b84f00;margin-bottom:.5rem}.customer-primary{display:block;width:100%;box-sizing:border-box;text-align:center;font-size:1.05rem}.employee-login-link{text-align:center;margin:28px 0 6px;font-size:.88rem;opacity:.8}.employee-login-link a{font-weight:700;text-decoration:underline}.login-choice .pagehero a:focus,.login-choice a:focus{outline:2px solid #ef6c00;outline-offset:3px}@media(max-width:700px){.customer-actions{grid-template-columns:1fr}.customer-action-card{min-height:0}.employee-login-link{font-size:.82rem;margin-top:22px}}

/* Direct online plannen uitleg + controle */
.direct-plan-info{margin:30px 0}.direct-plan-info>h2{color:#fff;margin-bottom:16px}.direct-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.direct-plan-grid article{background:#fff;color:#102e51;border:1px solid #dbe3ec;border-radius:16px;padding:20px;box-shadow:0 8px 22px rgba(15,39,71,.06)}.direct-plan-grid h3{margin:.4rem 0 .55rem;font-size:1.08rem;color:#102e51}.direct-plan-grid p{margin:0;color:#334e68;line-height:1.55}.direct-plan-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:#fff1e6;font-size:1.45rem}.direct-plan-check{border:2px solid #ef6c00;margin-top:24px}.direct-plan-check>h2{color:#102e51}.direct-plan-check>p{color:#334e68;line-height:1.55}.direct-plan-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.direct-plan-form-grid label,.direct-plan-confirm{display:flex;flex-direction:column;gap:6px;font-weight:700;color:#102e51}.direct-plan-service{grid-column:1/-1}.direct-plan-confirm{flex-direction:row;align-items:flex-start;margin:16px 0;line-height:1.45}.direct-plan-confirm input{width:auto!important;margin-top:.2rem}.direct-plan-check .booking-actions{margin-top:14px}.direct-plan-check .secondary{background:#eef3f8;color:#102e51;border:1px solid #b9c5d3}.direct-plan-check .booking-security{color:#52606d;line-height:1.5}@media(max-width:700px){.direct-plan-grid,.direct-plan-form-grid{grid-template-columns:1fr}.direct-plan-service{grid-column:auto}.direct-plan-info>h2{font-size:1.4rem}.direct-plan-grid article{padding:17px}.direct-plan-check{padding:18px}}

/* Leesbaarheid statusmeldingen op donkere pagehero */
.booking-status{color:#102e51!important}.booking-status.success{color:#153f24!important;background:#eef8f0!important;border-color:#8fc49a!important}.booking-status.error{color:#7a1f1b!important;background:#fff1f0!important;border-color:#e7aaa6!important}
