/* placeholder booking calendar */
.booker{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;align-items:start}
.cal,.sum{background:var(--ink-2);border:1px solid var(--ink-3);border-radius:var(--radius);padding:24px}
.cal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.cal-month{font:800 28px/1 var(--display);font-stretch:75%;text-transform:uppercase}
.cal-nav{width:44px;height:44px;border-radius:50%;border:1px solid var(--ink-3);background:transparent;color:#fff;font-size:24px;cursor:pointer}
.cal-nav:hover:not(:disabled){border-color:var(--hivis);color:var(--hivis)}
.cal-nav:disabled{opacity:.3;cursor:default}
.cal-dow,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-dow span{font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.1em;text-align:center;opacity:.6;padding-bottom:6px}
.day{aspect-ratio:1;min-height:40px;border:0;border-radius:4px;background:var(--ink-3);color:#fff;font:600 15px var(--display);cursor:pointer;position:relative}
.day:hover:not(:disabled){outline:2px solid var(--hivis);outline-offset:-2px}
.day.empty{background:transparent;cursor:default}
.day:disabled{cursor:not-allowed;color:#5d6268;background:transparent}
.day.busy{background:repeating-linear-gradient(135deg,#2b2f34 0 4px,#24272b 4px 8px);color:#6b7178;text-decoration:line-through}
.day.today::after{content:"";position:absolute;left:50%;bottom:5px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--hivis)}
.day.in{background:rgba(242,107,29,.28)}
.day.sel{background:var(--hivis);color:#fff}
.cal-key{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;font-size:13px;opacity:.8}
.cal-key i{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.k-free{background:var(--ink-3)}.k-busy{background:repeating-linear-gradient(135deg,#3a3f45 0 3px,#24272b 3px 6px)}.k-sel{background:var(--hivis)}
.cal-ph{margin:14px 0 0;font:500 12px/1.5 var(--mono);color:#c9a58a;border-top:1px dashed var(--ink-3);padding-top:12px}
.sum h3{font-size:30px}
.sum .spec-row{border-color:var(--ink-3)}
.sum .spec-row span:first-child{color:#8d939a}
.sum-total{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0 4px}
.sum-total span{font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#8d939a}
.sum-total b{font:800 48px/1 var(--display);font-stretch:75%}
.sum .btn{width:100%;margin-top:10px}
.sum .btn:disabled{opacity:.4;cursor:not-allowed}
.sum small{display:block;margin-top:12px;color:#8d939a;font-size:13px}
@media(max-width:900px){.booker{grid-template-columns:1fr}.cal,.sum{padding:16px}.day{min-height:38px;font-size:14px}}
