/* Functional demo additions inherit the V2 colours, typography and geometry. */
.demo-note{font-size:10px!important;letter-spacing:.1em;padding:12px 0;border-block:1px solid var(--line);margin:15px 0;color:var(--muted)}
.booking-content{max-height:90dvh;overflow-y:auto}.booking-content>.button{margin-top:20px}
.booking-steps{display:flex;gap:12px;margin:24px 0;font-size:10px!important;justify-content:space-between}
.booking-steps span{opacity:.5}.booking-steps [aria-current]{opacity:1;border-bottom:1px solid currentColor}
#booking-stage label,.demo-login label{margin-top:18px}.demo-login p{margin-bottom:18px}
.form-status{font-size:13px!important;margin:16px 0;min-height:22px;overflow-wrap:anywhere}
.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:22px 0;max-height:220px;overflow:auto;padding:5px}
.slot-grid button{min-height:44px;background:transparent;border:1px solid var(--line);font-size:13px}
.slot-grid button[aria-pressed=true],.slot-grid button:hover{background:var(--ink);color:var(--paper)}
.slot-grid p{grid-column:1/-1}.small-note{font-size:11px!important;margin:16px 0}
.check-label{display:flex!important;gap:12px;align-items:flex-start;font-size:12px!important;line-height:1.6}
.check-label input{width:18px!important;height:18px!important;min-height:0!important;flex-shrink:0;margin-top:3px;accent-color:var(--ink)}
.booking-recap{padding:22px 0}.booking-recap p{margin:15px 0}.back-step{margin:18px 0}.confirm-booking{width:100%;font-size:12px}
.agenda-header{position:relative;padding:28px var(--gutter);background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;align-items:center;gap:25px}
.agenda-header a:last-child{font-size:13px}.agenda-main{max-width:1300px;margin:auto;padding:65px var(--gutter)}
.agenda-main h1{font-size:clamp(48px,6vw,80px);margin-bottom:25px}.agenda-main h2{font-size:35px}
.agenda-main input,.agenda-main select,.agenda-main textarea{font:inherit;padding:12px;border:1px solid var(--line);background:transparent;width:100%;min-height:48px;color:var(--ink);border-radius:0}
.agenda-main label{display:block;margin:16px 0 7px;font-size:13px}.agenda-login{max-width:480px}.agenda-main .button{margin:18px 0}.agenda-tools{display:flex;gap:18px;align-items:end;flex-wrap:wrap;margin:24px 0}.agenda-tools>div{flex:1;min-width:150px}.agenda-tools .text-link{min-height:44px}
.agenda-week{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--line);margin:30px 0;overflow:auto}
.agenda-day{min-width:110px;padding:12px;border-right:1px solid var(--line)}.agenda-day:last-child{border-right:0}.agenda-day h2{font:12px var(--sans);letter-spacing:0;margin-bottom:18px}.agenda-event{display:block;width:100%;text-align:left;background:#dde5d9;border-left:2px solid var(--forest);padding:10px;margin:10px 0;font-size:11px}.agenda-event.cancelled{opacity:.55;text-decoration:line-through}.agenda-event.completed{border-color:#8d674e}.agenda-event strong{display:block;font-size:13px}
.agenda-card{padding:24px 0;border-top:1px solid var(--line)}.agenda-card h2{font-size:30px;margin-bottom:15px}.agenda-card p{font-size:14px;margin:7px 0}.agenda-actions{display:flex;gap:20px;flex-wrap:wrap;margin:18px 0}.agenda-actions button{font-size:12px}.job-list{margin:20px 0;padding:0;list-style:none}.job-list li{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:10px 0;font-size:12px}.job-list small{display:block}.agenda-status{font-size:11px;padding:5px 9px;background:#dde5d9;display:inline-block;margin-bottom:10px}.agenda-modal{max-width:560px}.agenda-modal textarea{width:100%;min-height:100px;font:inherit;padding:12px;background:transparent;border:1px solid var(--line)}.agenda-modal input,.agenda-modal select{margin-bottom:15px}.agenda-modal .button{margin-top:15px}.feedback-view{padding:16px;border-left:2px solid #8d674e;margin:15px 0}.agenda-notice{font-size:12px;margin-bottom:30px}.empty-agenda{padding:40px 0}.demo-login .button{width:100%}
@media(max-width:600px){.booking-content{max-height:92dvh}.booking-steps{font-size:9px!important;gap:8px}.slot-grid{grid-template-columns:repeat(3,1fr)}.agenda-main{padding:40px 24px}.agenda-week{grid-template-columns:1fr;overflow:visible}.agenda-day{border-right:0;border-bottom:1px solid var(--line)}.agenda-event{font-size:13px}.agenda-header{padding:24px}.agenda-tools{gap:12px}.agenda-tools>div{min-width:100%}}
