/* SIMUL8OR SESSION / DATE SELECTION
   Option A only, extracted from the brand-kit date-selector package. */
.s8-transport.s8-transport--date{position:relative;z-index:100;overflow:visible}
.s8-dstep{position:relative;display:flex;align-items:center;gap:1px;height:var(--s8-h);padding:2px;border:1px solid var(--s8-line);border-radius:var(--s8-r);background:var(--s8-inset);box-sizing:border-box;flex:none}
.s8-dstep > .s8-iconbtn{width:28px;height:calc(var(--s8-h) - 6px);flex:none}
.s8-dstep > .s8-iconbtn:disabled,.s8-datebtn:disabled{opacity:.34;cursor:not-allowed}
.s8-dstep .s8-chevron--left{transform:rotate(180deg)}
.s8-datebtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:calc(var(--s8-h) - 6px);min-width:257px;padding:0 10px;border:0;border-radius:var(--s8-r-sm);background:transparent;color:#fff;font:inherit;font-size:var(--s8-fs-md);font-weight:600;letter-spacing:.01em;white-space:nowrap;cursor:pointer}
.s8-datebtn:hover{background:var(--s8-hover)}
.s8-datebtn[aria-expanded="true"]{background:var(--s8-panel-2)}
.s8-datebtn > svg{width:13px;height:13px;flex:none;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;color:var(--s8-fg-3)}
.s8-datebtn__weekday,.s8-datebtn__zone{font-size:var(--s8-fs-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--s8-fg-3)}
.s8-datebtn__date{font-size:var(--s8-fs-md);font-weight:600;color:#fff}
.s8-datebtn__time{margin-left:2px;font-size:var(--s8-fs-md);font-weight:600;font-variant-numeric:tabular-nums;color:#fff}

.s8-datepop{position:absolute;z-index:110;top:calc(100% + var(--s8-2));left:0;width:296px;padding:var(--s8-3);border:1px solid var(--s8-line-2);border-radius:var(--s8-r-lg);background:var(--s8-panel);box-shadow:var(--s8-pop-lg);box-sizing:border-box}
.s8-datepop[hidden]{display:none}
.s8-datepop__hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s8-2)}
.s8-datepop__hd > b{font-size:var(--s8-fs-md);font-weight:600;color:#fff}
.s8-datepop__hd > .s8-iconbtn{width:30px;height:30px}
.s8-datepop__hd > .s8-iconbtn:disabled{opacity:.3;cursor:not-allowed}
.s8-datepop__time{display:flex;align-items:center;justify-content:space-between;gap:var(--s8-3);margin-top:var(--s8-3);padding-top:var(--s8-3);border-top:1px solid var(--s8-line)}
.s8-datepop__time > label{display:flex;flex-direction:column;gap:1px;font-size:var(--s8-fs-xs);font-weight:600;color:var(--s8-fg-2)}
.s8-datepop__time > label span{font-size:10px;font-weight:500;letter-spacing:.08em;color:var(--s8-fg-4)}
.s8-datepop__time > input{width:118px;height:32px;padding:0 7px;color-scheme:dark;font-variant-numeric:tabular-nums}
.s8-datepop__restart{margin-top:var(--s8-3)}
.s8-datepop__restart[hidden]{display:none}
.s8-datepop__restart > .s8-btn{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;height:auto;min-height:48px;padding:7px var(--s8-3);line-height:1.2}
.s8-datepop__restart-action{font-size:var(--s8-fs-sm);font-weight:700}
.s8-datepop__restart-meta{font-size:var(--s8-fs-xs);font-weight:500;color:rgba(255,255,255,.82);font-variant-numeric:tabular-nums}
.s8-replay-loading{cursor:progress!important}
.s8-replay-loading > svg{display:none}
.s8-replay-loading::before{content:"";width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;box-sizing:border-box;animation:s8-replay-spin .7s linear infinite;flex:none}
.s8-datepop__restart > .s8-btn.is-loading{cursor:progress}
.s8-datepop__restart > .s8-btn.is-loading .s8-datepop__restart-action{display:inline-flex;align-items:center;gap:7px}
.s8-datepop__restart > .s8-btn.is-loading .s8-datepop__restart-action::before{content:"";width:12px;height:12px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;box-sizing:border-box;animation:s8-replay-spin .7s linear infinite}
@keyframes s8-replay-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.s8-replay-loading::before,.s8-datepop__restart > .s8-btn.is-loading .s8-datepop__restart-action::before{animation-duration:1.4s}}

.s8-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.s8-cal > span{height:22px;display:grid;place-items:center;font-size:10px;font-weight:600;letter-spacing:.06em;color:var(--s8-fg-4)}
.s8-cal > button{position:relative;height:34px;border:1px solid transparent;border-radius:var(--s8-r-sm);background:transparent;color:var(--s8-fg);font:inherit;font-size:var(--s8-fs-sm);font-weight:500;cursor:pointer}
.s8-cal > button:hover{background:var(--s8-hover)}
.s8-cal > button:focus-visible{outline:0;box-shadow:var(--s8-focus)}
.s8-cal > button.out{color:var(--s8-fg-4);opacity:.5}
.s8-cal > button.off{color:var(--s8-fg-4);opacity:.34;cursor:not-allowed}
.s8-cal > button.on{background:var(--s8-accent);border-color:var(--s8-accent-hi);color:#fff;font-weight:600}

@media (max-width:980px){.s8-datebtn{min-width:245px;padding:0 8px;gap:5px}.s8-dstep > .s8-iconbtn{width:25px}}
@media (max-width:560px){.s8-datepop{position:fixed;top:132px;left:50%;width:min(296px,calc(100vw - 16px));transform:translateX(-50%)}.s8-datebtn{min-width:230px;padding:0 6px;font-size:var(--s8-fs-sm)}.s8-datebtn__weekday,.s8-datebtn__zone{font-size:10px}.s8-datebtn__date,.s8-datebtn__time{font-size:var(--s8-fs-sm)}}
