/* Blackstone Meeting Rooms: Book your meeting */
/* Pop-up window */
.bk-modal{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:flex-start;justify-content:center;padding:28px 18px;background:rgba(12,12,14,.78);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.bk-modal[hidden]{display:none}
.bk-modal-box{position:relative;width:100%;max-width:1120px;margin:auto 0;background:#f5f4f1;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.45);font-family:"Open Sans",Arial,sans-serif;color:#1d1d20;animation:bk-pop .22s ease-out}
@keyframes bk-pop{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.bk-mh{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:26px 30px 20px;border-top:5px solid #c8202b;border-radius:16px 16px 0 0;background:#fff}
.bk-mh-eyebrow{margin:0 0 6px;font:800 11px/1.4 "Open Sans",Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#c8202b}
.bk-mh h2{margin:0;font:600 32px/1.15 "Gelasio",Georgia,serif;letter-spacing:-.01em;color:#1d1d20}
.bk-mh-sub{margin:10px 0 0;max-width:720px;font-size:14.5px;line-height:1.6;color:#55545a}
.bk-close{flex:none;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px 0 12px;border:1.5px solid #1d1d20;border-radius:999px;background:#fff;color:#1d1d20;font:700 14px "Open Sans",Arial,sans-serif;cursor:pointer}
.bk-close span{font-size:26px;line-height:1;margin-top:-2px}
.bk-close em{font-style:normal}
.bk-close:hover,.bk-close:focus-visible{background:#1d1d20;color:#fff}
.bk-modal-box>.bk{padding:22px 30px 30px}
html.bk-lock,html.bk-lock body{overflow:hidden!important}
@media(max-width:640px){.bk-modal{padding:0}.bk-modal-box{min-height:100%;border-radius:0;margin:0}.bk-mh{position:sticky;top:0;z-index:2;padding:16px 16px 14px;border-radius:0;gap:12px;box-shadow:0 2px 10px rgba(0,0,0,.06)}.bk-mh h2{font-size:24px}.bk-mh-sub{display:none}.bk-close{height:40px;padding:0 12px 0 9px}.bk-modal-box>.bk{padding:14px 12px 24px}}
.bk{--r:#c8202b;--ink:#1d1d20;--mut:#66666d;--line:#e6e4e1;--soft:#f5f4f1;font-family:"Open Sans",Arial,sans-serif;color:var(--ink)}
.bk *{box-sizing:border-box}
.bk-card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px #00000012;overflow:hidden}
.bk-steps{display:flex;border-bottom:1px solid var(--line);background:var(--soft)}
.bk-steps button{flex:1;display:flex;align-items:center;gap:10px;justify-content:center;padding:16px 10px;border:0;background:none;font:600 14px "Open Sans",Arial,sans-serif;color:#77767c;cursor:pointer;border-bottom:3px solid transparent}
.bk-steps button i{font-style:normal;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#dedcd8;color:#555;font-size:13px;font-weight:800}
.bk-steps button.on{color:var(--ink);border-bottom-color:var(--r);background:#fff}
.bk-steps button.on i,.bk-steps button.done i{background:var(--r);color:#fff}
.bk-steps button:disabled{cursor:default}
.bk-pane{display:none;padding:30px}
.bk-pane.on{display:block}
.bk-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:34px}
.bk h3{font-family:"Gelasio",Georgia,serif;font-size:22px;font-weight:600;margin:0 0 4px;letter-spacing:-.01em}
.bk .bk-hint{font-size:14px;color:var(--mut);margin:0 0 18px}

/* calendar */
.bk-cal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.bk-cal-h strong{font-family:"Gelasio",Georgia,serif;font-size:20px}
.bk-nav{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:18px;cursor:pointer;color:var(--ink)}
.bk-nav:hover:not(:disabled){border-color:var(--ink)}
.bk-nav:disabled{opacity:.35;cursor:default}
.bk-dow,.bk-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.bk-dow span{text-align:center;font-size:11px;font-weight:700;letter-spacing:.1em;color:#8a898f;padding:4px 0}
.bk-day{position:relative;aspect-ratio:1/1;min-height:44px;border-radius:10px;border:1px solid transparent;background:none;font:600 15px "Open Sans",Arial,sans-serif;color:#b8b7bb;cursor:default;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.bk-day.av{background:#fff;border-color:#d7d5d1;color:var(--ink);cursor:pointer}
.bk-day.av:hover{border-color:var(--r);box-shadow:0 0 0 1px var(--r) inset}
.bk-day.av::after{content:"";width:6px;height:6px;border-radius:50%;background:#2e9e5b}
.bk-day.lim::after{background:#e0a420}
.bk-day.full{color:#b8b7bb;text-decoration:line-through}
.bk-day.today{outline:2px dashed #c8c6c2;outline-offset:-4px}
.bk-day.sel{background:var(--r);border-color:var(--r);color:#fff}
.bk-day.sel::after{background:#fff}
.bk-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;font-size:12px;color:var(--mut)}
.bk-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:1px}
.bk-times-empty{border:1px dashed #cfcdc9;border-radius:12px;padding:40px 20px;text-align:center;color:var(--mut);font-size:14px;background:var(--soft)}
.bk-times-empty b{display:block;font-size:30px;margin-bottom:6px;color:#c8c6c2}
.bk-date-big{font-family:"Gelasio",Georgia,serif;font-size:20px;margin:0 0 12px}
.bk-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px}
.bk-slot{padding:12px 6px;border:1px solid #d7d5d1;border-radius:8px;background:#fff;font:600 14px "Open Sans",Arial,sans-serif;color:var(--ink);cursor:pointer}
.bk-slot:hover:not(:disabled){border-color:var(--r)}
.bk-slot.sel{background:var(--r);color:#fff;border-color:var(--r)}
.bk-slot:disabled{color:#bbb;background:#f6f5f3;text-decoration:line-through;cursor:not-allowed}
.bk-tz{font-size:12px;color:var(--mut);margin:-8px 0 16px}

/* fields */
.bk-label{display:block;font-size:14px;font-weight:700;margin:0 0 6px}
.bk-label small{font-weight:400;color:var(--mut)}
.bk-in,.bk-sel,.bk-ta{width:100%;padding:12px 14px;border:1px solid #cfcdc9;border-radius:8px;font:15px "Open Sans",Arial,sans-serif;color:var(--ink);background:#fff}
.bk-in:focus,.bk-sel:focus,.bk-ta:focus{outline:2px solid #c8202b55;border-color:var(--r)}
.bk-ta{min-height:96px;resize:vertical}
.bk-row{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;margin-bottom:18px}
.bk-row.one{grid-template-columns:1fr}
.bk-fs{border:0;padding:0;margin:0 0 20px}
.bk-fs legend{font-size:14px;font-weight:700;margin-bottom:8px;padding:0}
.bk-chips{display:flex;flex-wrap:wrap;gap:8px}
.bk-chips label{position:relative}
.bk-chips input{position:absolute;opacity:0;pointer-events:none}
.bk-chips span{display:inline-block;padding:10px 16px;border:1px solid #cfcdc9;border-radius:999px;font-size:14px;font-weight:600;cursor:pointer;background:#fff}
.bk-chips input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.bk-chips input:focus-visible+span{outline:2px solid var(--r);outline-offset:2px}
.bk-sub{margin:-8px 0 20px;padding:16px 18px;background:var(--soft);border-left:3px solid var(--r);border-radius:0 8px 8px 0}
.bk-sub[hidden]{display:none}
.bk-section-t{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--r);margin:26px 0 14px;padding-top:20px;border-top:1px solid var(--line)}
.bk-section-t:first-child{margin-top:0;padding-top:0;border-top:0}
.bk-file{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px dashed #cfcdc9;border-radius:8px;font-size:14px;color:var(--mut);cursor:pointer}
.bk-file b{color:var(--ink)}
.bk-err{color:var(--r);font-size:13px;font-weight:600;margin-top:6px;display:none}
.bk-err.on{display:block}
.bk-in.bad,.bk-sel.bad{border-color:var(--r);background:#fff7f7}

/* footer + buttons */
.bk-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 30px;border-top:1px solid var(--line);background:var(--soft)}
.bk-pick{font-size:14px;color:var(--mut)}
.bk-pick b{color:var(--ink)}
.bk-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:8px;border:0;font:700 15px "Open Sans",Arial,sans-serif;cursor:pointer;text-decoration:none}
.bk-btn.pri{background:var(--r);color:#fff}
.bk-btn.pri:hover{background:#a91a24}
.bk-btn.pri:disabled{background:#d9a3a7;cursor:not-allowed}
.bk-btn.gh{background:#fff;border:1px solid #cfcdc9;color:var(--ink)}

/* review + success */
.bk-review{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}
.bk-review dl{margin:0}
.bk-review div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.bk-review dt{color:var(--mut)}
.bk-review dd{margin:0;font-weight:600}
.bk-agree{display:flex;gap:12px;align-items:flex-start;margin-top:22px;padding:16px 18px;background:var(--soft);border-radius:8px;font-size:14px}
.bk-agree input{width:20px;height:20px;margin-top:1px;accent-color:#c8202b;flex:none}
.bk-done{text-align:center;padding:50px 30px}
.bk-check{width:72px;height:72px;border-radius:50%;background:#e8f5ec;color:#2e9e5b;display:inline-flex;align-items:center;justify-content:center;font-size:36px;margin-bottom:18px}
.bk-done h3{font-size:30px}
.bk-done p{color:var(--mut);max-width:560px;margin:8px auto 0;font-size:15px}
.bk-next{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:820px;margin:30px auto 0;text-align:left}
.bk-next div{padding:18px;border:1px solid var(--line);border-radius:10px}
.bk-next b{display:block;font-family:"Gelasio",Georgia,serif;font-size:26px;color:var(--r)}
.bk-next strong{display:block;margin:4px 0;font-size:15px}
.bk-next span{font-size:13px;color:var(--mut)}
.bk-note{font-size:13px;color:var(--mut);margin-top:14px}

@media(max-width:860px){.bk-grid{grid-template-columns:1fr;gap:26px}.bk-review{grid-template-columns:1fr}.bk-next{grid-template-columns:1fr}}
@media(max-width:640px){.bk-pane{padding:22px 16px}.bk-row{grid-template-columns:1fr}.bk-steps button{flex-direction:column;gap:4px;font-size:11px;padding:12px 4px}.bk-foot{padding:14px 16px;flex-direction:column-reverse;align-items:stretch}.bk-foot .bk-btn{width:100%}.bk-day{min-height:38px;font-size:14px;border-radius:8px}.bk-dow,.bk-days{gap:4px}.bk-review div{grid-template-columns:1fr;gap:2px}.bk-slots{grid-template-columns:repeat(2,1fr)}}
.bk-btn[hidden]{display:none}
:is(#bm-meeting-center,#bm-book) .bk-section-t{margin:30px 0 16px;padding-top:24px}
:is(#bm-meeting-center,#bm-book) .bk-section-t:first-child{margin-top:0;padding-top:0}
:is(#bm-meeting-center,#bm-book) .bk h3{font-family:"Gelasio",Georgia,serif;font-size:22px;font-weight:600;margin:0 0 6px}
:is(#bm-meeting-center,#bm-book) .bk-hint{margin:0 0 18px}
:is(#bm-meeting-center,#bm-book) .bk-date-big{font-size:17px;margin:0 0 4px;color:#66666d}
:is(#bm-meeting-center,#bm-book) .bk-tz{margin:0 0 14px}
:is(#bm-meeting-center,#bm-book) .bk-done h3{font-size:30px}
:is(#bm-meeting-center,#bm-book) .bk-done p{margin:8px auto 0}
:is(#bm-meeting-center,#bm-book) .bk-done p.bk-note{margin-top:16px}

.bk-group{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#8a898f;margin:16px 0 8px}
.bk-none{font-size:14px;color:#66666d;background:#f5f4f1;border-radius:8px;padding:14px 16px;margin-top:12px}
.bk-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.bk-ta-s{min-height:70px}
.bk-foot-btns{display:flex;gap:10px}
.bk-again-p{margin-top:22px}
.bk-send-err{margin-top:12px;font-size:14px}
.bk-len{margin-bottom:4px}
:is(#bm-meeting-center,#bm-book) .bk-section-t{margin:30px 0 16px;padding-top:24px}
:is(#bm-meeting-center,#bm-book) .bk-section-t:first-child{margin-top:0;padding-top:0}
:is(#bm-meeting-center,#bm-book) .bk h3{font-family:"Gelasio",Georgia,serif;font-size:22px;font-weight:600;margin:0 0 6px;color:#1d1d20}
:is(#bm-meeting-center,#bm-book) .bk-hint{margin:0 0 18px}
:is(#bm-meeting-center,#bm-book) .bk-date-big{font-size:17px;margin:0 0 2px;color:#66666d;font-family:"Gelasio",Georgia,serif}
:is(#bm-meeting-center,#bm-book) .bk-tz{margin:0 0 14px}
:is(#bm-meeting-center,#bm-book) .bk-group{margin:16px 0 8px}
:is(#bm-meeting-center,#bm-book) .bk-done h3{font-size:30px}
:is(#bm-meeting-center,#bm-book) .bk-done p{margin:8px auto 0}
:is(#bm-meeting-center,#bm-book) .bk-done p.bk-note{margin-top:16px}
:is(#bm-meeting-center,#bm-book) .bk-note{margin:0}
:is(#bm-meeting-center,#bm-book) .bk button{line-height:1.3;text-transform:none;letter-spacing:normal;box-shadow:none;min-height:0}
:is(#bm-meeting-center,#bm-book) .bk .bk-btn.pri{background:#c8202b;color:#fff}
:is(#bm-meeting-center,#bm-book) .bk .bk-btn.pri:hover{background:#a91a24}
:is(#bm-meeting-center,#bm-book) .bk .bk-btn.pri:disabled{background:#d9a3a7}
:is(#bm-meeting-center,#bm-book) .bk .bk-btn.gh{background:#fff;color:#1d1d20}
:is(#bm-meeting-center,#bm-book) .bk .bk-day.sel{background:#c8202b;color:#fff}
:is(#bm-meeting-center,#bm-book) .bk .bk-slot.sel{background:#c8202b;color:#fff}
:is(#bm-meeting-center,#bm-book) .bk input,:is(#bm-meeting-center,#bm-book) .bk select,:is(#bm-meeting-center,#bm-book) .bk textarea{box-shadow:none;max-width:none;margin:0}

/* Pop-up: shield the booking form from theme button/heading styles (the pop-up sits outside the page content). */
#bm-book{container-type:normal}
#bm-book .bk-modal-box{container-type:inline-size;container-name:bkbox}
#bm-book button{margin:0;min-width:0;max-width:none;width:auto;height:auto;padding:0;border-radius:0;text-transform:none;letter-spacing:normal;box-shadow:none;text-shadow:none;line-height:1.3;font-family:"Open Sans",Arial,sans-serif;text-decoration:none;transform:none;float:none}
#bm-book .bk-close{height:44px;padding:0 16px 0 12px;border-radius:999px;border:1.5px solid #1d1d20;background:#fff;color:#1d1d20;font-size:14px;font-weight:700}
#bm-book .bk-close:hover,#bm-book .bk-close:focus-visible{background:#1d1d20;color:#fff}
#bm-book .bk-steps button{padding:16px 10px;border:0;border-bottom:3px solid transparent;background:none;color:#77767c;font-size:14px;font-weight:600}
#bm-book .bk-steps button.on{color:#1d1d20;border-bottom-color:#c8202b;background:#fff}
#bm-book .bk-nav{width:40px;height:40px;padding:0;border-radius:50%;border:1px solid #e6e4e1;background:#fff;color:#1d1d20;font-size:18px}
#bm-book .bk-dow,#bm-book .bk-days{grid-template-columns:repeat(7,minmax(0,1fr))}
#bm-book .bk-grid>*{min-width:0}
#bm-book .bk-day{width:100%;min-width:0;padding:0;border-radius:10px;border:1px solid transparent;background:none;color:#b8b7bb;font-size:15px;font-weight:600}
#bm-book .bk-day.av{background:#fff;border-color:#d7d5d1;color:#1d1d20}
#bm-book .bk-day.av:hover{border-color:#c8202b}
#bm-book .bk-day.sel{background:#c8202b;border-color:#c8202b;color:#fff}
#bm-book .bk-slots{grid-template-columns:repeat(3,minmax(0,1fr))}
#bm-book .bk-slot{width:100%;min-width:0;padding:12px 4px;border:1px solid #d7d5d1;border-radius:8px;background:#fff;color:#1d1d20;font-size:14px;font-weight:600;white-space:nowrap}
#bm-book .bk-slot:disabled{background:#f5f4f1;color:#b8b7bb}
#bm-book .bk-slot.sel{background:#c8202b;border-color:#c8202b;color:#fff}
#bm-book .bk-btn{padding:12px 22px;border-radius:8px;font-size:15px;font-weight:700}
#bm-book .bk-btn.gh{border:1.5px solid #1d1d20}
#bm-book .bk-btn.pri{border:0}
#bm-book h2,#bm-book h3{text-transform:none;letter-spacing:-.01em}
/* Fit any window: stack the calendar above the times when the pop-up is narrow. */
@container bkbox (max-width:900px){.bk-grid{grid-template-columns:1fr;gap:26px}}
@container bkbox (max-width:560px){#bm-book .bk-slots{grid-template-columns:repeat(2,minmax(0,1fr))}#bm-book .bk-day{border-radius:8px;font-size:14px}}
@media(max-height:820px) and (min-width:641px){#bm-book .bk-day{aspect-ratio:auto;height:clamp(40px,6.2vh,56px);min-height:0}#bm-book .bk-mh{padding:18px 26px 14px}#bm-book .bk-mh h2{font-size:26px}#bm-book .bk-mh-sub{margin-top:6px;font-size:13.5px}.bk-modal{padding:14px 18px}#bm-book .bk-pane{padding:22px 26px}}
@media(max-width:640px){#bm-book .bk-steps button{padding:12px 4px;font-size:11px}#bm-book .bk-close{height:40px;padding:0 12px 0 9px}}
