/* fix1073: scoped public demo booking layout. */
body.demo-page{margin:0;background:#f2f5f7;color:#102e45;font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.55}
.demo-page *{box-sizing:border-box}
.demo-page .skip{position:absolute;left:-9999px}.demo-page .skip:focus{left:12px;top:12px;z-index:100;background:#fff;padding:10px 16px}
.bk-shell{max-width:1240px;margin:auto;padding:34px 28px 64px}
.bk-head{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:32px}
.bk-eyebrow{margin:0 0 12px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#526c7b}
.bk-head h1{margin:0;max-width:800px;font-size:clamp(32px,3.6vw,48px);font-weight:750;letter-spacing:-.045em;line-height:1.13}
.bk-head h1 span{color:#126581}
.bk-head p:last-child{font-size:16px;color:#5b6f7d;margin:18px 0 0;max-width:670px}
.bk-session{display:flex;align-items:center;gap:18px;flex-shrink:0;border-left:1px solid #ced9df;padding:15px 0 15px 28px;color:#536c7c;font-size:12px}
.bk-session strong{display:flex;align-items:baseline;font-size:48px;font-weight:750;letter-spacing:-.05em;color:#102e45;line-height:1}
.bk-session strong span{font-size:12px;letter-spacing:0;margin-left:4px}
.bk-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:0;margin:0 0 28px;list-style:none}
.bk-steps li{display:flex;align-items:flex-start;gap:12px;border-top:2px solid #d8e1e7;padding-top:17px}
.bk-step-number{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;border:1px solid #cbd7df;background:#e7edf1;color:#526b7d;font-size:12px;font-weight:800}
.bk-steps strong{font-size:14px;display:block;margin-top:2px}
.bk-steps p{font-size:12px;color:#607382;margin:5px 0 0;line-height:1.6}
.bk-steps li[aria-current=step]{border-color:#f59b31}
.bk-steps li[aria-current=step] .bk-step-number{background:#ff9c2e;border-color:#ff9c2e;color:#082237}
.bk-steps li.is-complete .bk-step-number{background:#d7f0e7;color:#126d57;border-color:#b3dacc}
.bk-card{display:grid;grid-template-columns:320px minmax(0,1fr);margin:0;background:#fff;border:1px solid #d7e0e6;border-radius:22px;box-shadow:0 16px 50px #102e4510;overflow:hidden;position:relative}
.bk-info{padding:30px 28px;background:radial-gradient(ellipse at 100% 0%,#15435d 0%,transparent 55%),#082337;color:#d0e1ec;display:flex;flex-direction:column}
.bk-brand{display:flex;align-items:center;gap:10px;color:#fff;font-size:13px;font-weight:600;margin-bottom:26px}
.bk-brand b{color:#ff9f36}
.bk-mark{display:grid;place-items:center;border:1px solid #477084;border-radius:9px;width:36px;height:36px;font-size:15px;letter-spacing:-.06em;color:#ff9f36}
.bk-info-label{text-transform:uppercase;font-size:10px;font-weight:750;letter-spacing:.13em;color:#80d4df;margin:0 0 8px}
.bk-info h2{font-size:29px;line-height:1.2;letter-spacing:-.03em;font-weight:650;color:#fff;margin:0 0 22px}
.bk-meta{display:flex;flex-wrap:wrap;gap:9px 14px;margin:0 0 24px;padding:0;list-style:none;font-size:11px;color:#c5d9e4}
.bk-meta li{display:flex;align-items:center;gap:6px}
.bk-meta svg{width:15px;height:15px;stroke:#71bdcf;stroke-width:1.6;fill:none}
.bk-desc{font-size:10px;text-transform:uppercase;font-weight:750;letter-spacing:.1em;color:#88a8b9;border-top:1px solid #2b495b;margin:0;padding-top:20px}
.bk-points{list-style:none;margin:14px 0 24px;padding:0;display:grid;gap:15px}
.bk-points li{position:relative;padding-left:17px;font-size:12px;line-height:1.5}
.bk-points li:before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;background:#ff9f36;border-radius:50%}
.bk-points strong{display:block;color:#f3f8fa;font-weight:650;margin-bottom:3px}
.bk-points span{color:#acc3d0;font-size:12px}
.bk-video{display:flex;align-items:center;gap:10px;border:1px solid #426578;background:#ffffff05;border-radius:10px;padding:12px 10px;color:#fff;text-decoration:none;margin-top:auto}
.bk-video:hover{border-color:#7ecad6;background:#ffffff0e}
.bk-play{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#174b65;flex-shrink:0}
.bk-play svg{width:15px;height:15px;fill:#86d7e1}
.bk-video b{font-size:11px;display:block;font-weight:650}
.bk-video small{display:block;font-size:9px;color:#aec7d6;margin-top:3px}
.bk-pilot{font-size:11px;color:#a6bfce;margin:15px 0 0}
.bk-pilot a{display:inline-block;color:#ffd29b;text-underline-offset:3px}
.bk-booking{min-width:0}
.bk-booking-head{padding:30px 32px 23px;border-bottom:1px solid #e4ebf0}
.bk-booking-head .bk-eyebrow{color:#a35912;margin-bottom:7px;font-size:10px}
.bk-booking-head h2{font-size:25px;letter-spacing:-.03em;font-weight:700;margin:0 0 5px;line-height:1.2}
.bk-booking-head>p:last-child{font-size:12px;color:#637b8b;margin:0}
.bk-pick{display:grid;grid-template-columns:minmax(0,1fr) 240px}
.bk-cal{padding:25px 28px 22px;min-width:0}
.bk-step{font-size:13px;font-weight:700;line-height:1.4;margin:0 0 18px}
.bk-month-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 17px}
.bk-month-name{font-size:16px;font-weight:700;letter-spacing:-.02em;margin:0}
.bk-nav{display:grid;place-items:center;width:34px;height:34px;padding:8px;background:#fff;border:1px solid #d4e0e7;border-radius:9px;cursor:pointer;color:#24475e}
.bk-nav svg,.bk-back svg,.bk-summary svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.bk-nav:hover:not(:disabled){background:#eef7fa;border-color:#4398b0}
.bk-nav:disabled{opacity:.35;cursor:default}
.bk-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;align-items:center}
.bk-wd{text-align:center;color:#788d9a;font-size:9px;font-weight:650;text-transform:uppercase;letter-spacing:.05em;padding-bottom:5px}
.bk-day{display:grid;place-items:center;width:100%;height:48px;min-height:32px;border-radius:11px;font:inherit;font-size:14px;font-weight:650;border:1px solid #c6e4ec;background:#ecf7fa;color:#16627b;position:relative;cursor:pointer;padding:0}
.bk-day:hover:not(.is-off):not(.is-selected){border-color:#176984;background:#d8eef4}
.bk-day.is-selected{background:#0c3852;color:#fff;border-color:#0c3852;box-shadow:0 4px 10px #102e451a}
.bk-day.is-off{background:transparent;border-color:transparent;color:#9aaab4;font-weight:400;cursor:default}
.bk-day.is-today:after{content:"";width:3px;height:3px;border-radius:50%;background:#a47938;position:absolute;bottom:4px;left:calc(50% - 1.5px)}
.bk-legend{display:flex;align-items:center;gap:7px;margin:18px 0 0;color:#718595;font-size:10px}
.bk-legend span{width:8px;height:8px;border-radius:3px;background:#d8eef4;border:1px solid #93c9d9}
.bk-times{border-left:1px solid #e4ebf0;background:#fafcfd;padding:25px 22px;min-width:0}
.bk-times .bk-step{margin-bottom:5px}
.bk-zone{color:#637b8b;font-size:10px;margin:0 0 20px}
.bk-times-empty{font-size:12px;color:#637b8b}
.bk-times-day{border:0;padding:0;margin:0 0 16px;min-width:0}
.bk-times-day legend{font-size:12px;font-weight:650;margin-bottom:10px}
.demo-js .bk-times-day legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.bk-time{display:block;position:relative;margin-bottom:10px;cursor:pointer}
.bk-time input{position:absolute;opacity:0;width:1px;height:1px}
.bk-time span{display:flex;justify-content:space-between;align-items:center;border:1px solid #a9c9d7;border-radius:9px;background:#fff;padding:12px 14px;color:#174c65;font-size:12px;font-weight:700;transition:background .15s}
.bk-time span:after{content:"→";font-size:17px;font-weight:400;color:#46859f}
.bk-time:hover span{background:#edf7fa;border-color:#36829d}
.bk-time input:checked+span{background:#0c3852;border-color:#0c3852;color:#fff}
.bk-time input:checked+span:after{color:#a7e0ec}
.bk-time input:focus-visible+span,.demo-page button:focus-visible,.demo-page a:focus-visible{outline:3px solid #158cae;outline-offset:3px}
.bk-details{padding:24px 32px 28px;scroll-margin-top:24px}
.bk-back{display:none;align-items:center;gap:6px;padding:0;background:none;border:0;font:inherit;font-size:12px;font-weight:650;color:#27617d;cursor:pointer;margin-bottom:22px}
.demo-js .bk-back{display:inline-flex}
.bk-required{font-size:11px;color:#718595;margin:0 0 10px}
.bk-summary{display:flex;align-items:center;gap:10px;margin:0 0 23px;padding:13px 15px;border:1px solid #c7dfe6;border-radius:10px;background:#eff7fa;font-size:13px;font-weight:650;color:#164d65}
.bk-summary svg{flex-shrink:0}
.bk-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 18px}
.bk-field>span{display:block;font-size:12px;font-weight:650;margin-bottom:7px}
.bk-field input{font:inherit;font-size:14px;display:block;width:100%;padding:12px 13px;border:1px solid #bdccd6;border-radius:8px;background:#fff;color:#102e45;min-height:46px;transition:border-color .15s,box-shadow .15s}
.bk-field input:focus{outline:0;border-color:#1e7a97;box-shadow:0 0 0 3px #e0f0f6}
.bk-field input[aria-invalid=true]{border-color:#b7473f}
.bk-field-error{color:#a12f2b;font-size:11px;display:block;margin-top:5px}
.bk-submit,.demo-button{display:inline-flex;justify-content:center;align-items:center;gap:24px;background:#ff9e31;color:#09273a;border:1px solid #e58b20;border-radius:9px;padding:13px 21px;font:inherit;font-size:13px;font-weight:750;cursor:pointer;text-decoration:none;margin-top:24px;box-shadow:0 3px 0 #db801a}
.bk-submit:hover,.demo-button:hover{background:#ffb04e}
.bk-submit span{font-size:18px;line-height:1}
.bk-confirm-note{font-size:11px;color:#557184;margin:15px 0 0}
.bk-fine{font-size:10px;color:#748694;margin:13px 0 0;line-height:1.6}
.bk-fine a{color:#315f77;text-underline-offset:3px}
.bk-unavail{padding:38px 32px;font-size:14px}
.bk-unavail h2{font-size:22px;line-height:1.35;margin:0 0 12px}
.bk-unavail a,.bk-help a{color:#166480;text-underline-offset:3px}
.demo-error{margin:20px 32px 0;padding:14px 16px;border:1px solid #ebc8c3;border-left:3px solid #b7473f;background:#fff7f5;border-radius:8px;font-size:12px;color:#8d2c24}
.demo-error p{margin:5px 0}.demo-error ul{margin:7px 0 0;padding-left:18px}.demo-error a{color:inherit}
.demo-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.bk-help{display:flex;gap:20px;justify-content:space-between;color:#6f8290;font-size:11px;margin-top:20px}
.bk-help p{margin:0}.bk-help strong{color:#425f71}
.demo-shell{max-width:720px;margin:auto;padding:55px 24px 70px}
.demo-done{background:#fff;border:1px solid #d7e0e6;box-shadow:0 16px 50px #102e4510;border-radius:22px;padding:40px;text-align:center}
.demo-success-icon{display:grid;place-items:center;background:#def3e9;color:#197359;width:64px;height:64px;border-radius:50%;margin:0 auto 23px}
.demo-success-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2}
.demo-done h1{font-size:42px;letter-spacing:-.04em;margin:0 0 12px;line-height:1.2}
.demo-done>p{font-size:14px;color:#536e7f;overflow-wrap:anywhere}
.demo-done .bk-eyebrow{font-size:10px}.demo-done .demo-when{background:#eef7fa;padding:15px;border-radius:10px;color:#174c65;font-weight:650}
.demo-next{text-align:left;list-style:none;counter-reset:next;padding:0;margin:26px 0;display:grid;gap:16px}
.demo-next li{position:relative;padding-left:38px;font-size:13px;counter-increment:next}
.demo-next li:before{content:counter(next);display:grid;place-items:center;position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;background:#edf3f6;font-size:11px;font-weight:700}
.demo-next strong,.demo-next span{display:block}.demo-next span{font-size:12px;color:#627d8c;margin-top:2px}
.demo-done .demo-button{margin-top:0}
.demo-home{display:inline-block;font-size:12px;color:#2c6681;margin-top:20px}
.demo-account-next{margin-top:28px;padding:24px;background:#f1f6f9;border:1px solid #dbe7ee;border-radius:14px;text-align:left}
.demo-account-next h2{font-size:22px;line-height:1.25;letter-spacing:-.02em;margin:7px 0 10px}
.demo-account-next p{font-size:13px;color:#536e7f}.demo-account-next .demo-button{margin:8px 0}
.bk-account-hint{background:#f0f6f9;border-radius:8px;padding:12px 14px;font-size:12px;color:#47677b;margin:0 0 18px}
.bk-account-hint a{font-weight:700}
.demo-page [hidden]{display:none!important}
html:not(.demo-js) .bk-nav{visibility:hidden}
@media(min-width:1500px){.bk-shell{padding-top:60px}}
@media(max-width:1100px){.bk-card{grid-template-columns:290px minmax(0,1fr)}.bk-info{padding:28px 23px}.bk-pick{grid-template-columns:minmax(0,1fr) 178px}.bk-cal{padding:24px 20px}.bk-times{padding:24px 16px}.bk-grid{gap:5px}.bk-session{padding-left:20px}.bk-session strong{font-size:38px}.bk-booking-head{padding:26px}.bk-steps{gap:20px}}
@media(max-width:900px){.bk-head br{display:none}.bk-session{display:none}.bk-card{grid-template-columns:240px minmax(0,1fr)}.bk-info{padding:25px 21px}.bk-info h2{font-size:26px}.bk-pick{display:block}.bk-times{border-left:0;border-top:1px solid #e4ebf0}.bk-times-day{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.bk-time{margin:0}.bk-day{max-height:48px;aspect-ratio:auto;height:44px}.bk-steps p{font-size:11px}.bk-steps{gap:16px}.bk-steps li{gap:9px}.bk-steps strong{font-size:12px}.bk-shell{padding:32px 22px 48px}.bk-details{padding:24px}}
@media(max-width:680px){.bk-head{margin-bottom:25px}.bk-head h1{font-size:34px;line-height:1.15}.bk-head p:last-child{font-size:14px;margin-top:14px}.bk-shell{padding:30px 17px 42px}.bk-steps{grid-template-columns:1fr;gap:14px;margin-bottom:24px}.bk-steps li{border:0;padding-top:0;gap:12px}.bk-step-number{width:28px;height:28px;flex-basis:28px}.bk-steps strong{font-size:13px}.bk-steps p{font-size:11px;margin-top:2px;max-width:390px}.bk-card{display:flex;flex-direction:column;border-radius:16px}.bk-info{order:2;padding:26px}.bk-brand{margin-bottom:18px}.bk-info h2{font-size:26px}.bk-info h2 br{display:none}.bk-meta{margin-bottom:19px}.bk-points{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.bk-video{max-width:320px}.bk-booking-head{padding:24px 22px 20px}.bk-booking-head h2{font-size:23px}.bk-cal{padding:22px}.bk-day{height:auto;aspect-ratio:1;max-height:48px;font-size:14px}.bk-grid{gap:7px}.bk-times{padding:22px}.bk-details{padding:22px}.bk-fields{gap:16px}.bk-help{display:block}.bk-help p+p{margin-top:8px}.bk-submit{width:100%}.bk-field input{font-size:16px}.demo-error{margin:18px 22px 0}.demo-shell{padding:28px 17px 45px}.demo-done{padding:30px 22px}.demo-done h1{font-size:36px}}
@media(max-width:380px){.bk-fields,.bk-points{grid-template-columns:1fr}.bk-head h1{font-size:30px}.bk-cal,.bk-times,.bk-details{padding:20px 17px}.bk-grid{gap:5px}}
@media(prefers-reduced-motion:reduce){.demo-page *{scroll-behavior:auto!important;transition:none!important}}
