.booking-workspace { position: relative; }
.timezone-trigger { cursor: pointer; border: 0; }
.timezone-trigger b { font-size: .8rem; margin-left: 4px; }
.timezone-popover { position: absolute; z-index: 20; top: 112px; right: clamp(28px,4vw,62px); width: min(620px, calc(100% - 56px)); max-height: 610px; padding: 24px; overflow: hidden; background: #fff; border: 1px solid #e6e8ec; border-radius: 18px; box-shadow: 0 24px 65px rgba(18,25,35,.2); }
.timezone-toolbar { display: flex; align-items: center; gap: 18px; }
.timezone-search { flex: 1; display: flex; align-items: center; gap: 10px; padding: 0 16px; border: 2px solid #cf2d36; border-radius: 12px; }
.timezone-search span { font-size: 1.8rem; }
.timezone-search input { width: 100%; padding: 14px 0; border: 0; outline: 0; color: #22272f; font-size: 1rem; }
.hour-toggle { display: flex; align-items: center; gap: 7px; color: #4b5563; white-space: nowrap; }
.hour-toggle input { position: absolute; opacity: 0; }
.hour-toggle i { width: 42px; height: 24px; padding: 3px; background: #e6e8ec; border-radius: 999px; transition: .2s; }
.hour-toggle i::after { content: ""; display: block; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px #789; transition: .2s; }
.hour-toggle input:checked + i { background: #cf2d36; }
.hour-toggle input:checked + i::after { transform: translateX(18px); }
.timezone-title { margin: 24px 4px 10px; text-transform: uppercase; letter-spacing: .12em; font-size: .75rem; font-weight: 800; }
.timezone-list { max-height: 430px; overflow: auto; border-top: 1px solid #e6e8ec; }
.timezone-option { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 16px; border: 0; border-bottom: 1px solid #e6e8ec; background: #fff; color: #22272f; text-align: left; cursor: pointer; }
.timezone-option:hover { background: #fff1f2; }
.timezone-option.selected { background: #cf2d36; color: #fff; }
.timezone-option span { display: grid; gap: 3px; }
.timezone-option small { color: #6b7280; }
.timezone-option.selected small { color: #ffe0e3; }
.timezone-option time { white-space: nowrap; font-weight: 700; }
.timezone-note { width: 100%; text-align: left; background: transparent; color: #22272f; }
.timezone-note b { margin-left: auto; }
@media(max-width:700px){.timezone-popover{position:fixed;inset:12px;width:auto;max-height:calc(100vh - 24px);padding:18px}.timezone-toolbar{align-items:stretch;flex-direction:column}.timezone-list{max-height:calc(100vh - 190px)}}
