/* THE BOOKING shared controls. Existing widgets and native form semantics are preserved. */
:root{--tb-blue:#003b95;--tb-action:#006ce4;--tb-ink:#17212b;--tb-muted:#596773;--tb-surface:#f3f5f7;--tb-field:#eef2f5;--tb-line:#dde3e8;--tb-focus:#006ce4;--tb-error:#942b23;--tb-radius-field:12px;--tb-radius-photo:16px;--tb-radius-button:999px;--tb-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.tb-ui-field{position:relative;display:block;min-width:0;width:100%;color:var(--tb-ink);font:inherit}
.tb-ui-field .tb-ui-native{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important}
.tb-ui-trigger{display:flex!important;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0;min-height:48px;padding:11px 14px!important;border:0!important;border-radius:var(--tb-radius-field)!important;background:var(--tb-field)!important;color:var(--tb-ink)!important;box-shadow:none!important;text-align:left;font:600 16px/1.4 var(--tb-font)!important;cursor:pointer;-webkit-appearance:none;appearance:none}
.tb-ui-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px!important;line-height:1.4!important;margin:0!important;font-weight:inherit!important}
.tb-ui-trigger svg,.tb-ui-search svg{width:20px;height:20px;flex-shrink:0;color:var(--tb-action)}
.tb-ui-trigger:hover{background:#e6edf7!important}.tb-ui-trigger[aria-expanded=true]{background:#e4edfa!important;color:var(--tb-blue)!important}
.tb-ui-trigger:disabled{opacity:.55;cursor:not-allowed}.tb-ui-trigger:focus-visible,.tb-ui-popover button:focus-visible,.tb-ui-popover input:focus-visible{outline:3px solid var(--tb-focus)!important;outline-offset:3px!important}
.tb-ui-trigger[aria-invalid=true]{background:#fff0ed!important;color:var(--tb-error)!important}
.tb-ui-error{display:block;font:400 14px/1.5 var(--tb-font);color:var(--tb-error);margin:7px 4px 0}
.tb-ui-popover,.tb-ui-popover *{box-sizing:border-box}
.tb-ui-popover{position:fixed;inset:auto;margin:0;padding:10px;max-width:calc(100vw - 24px);background:var(--tb-surface);color:var(--tb-ink);border:0;border-radius:var(--tb-radius-photo);box-shadow:none;z-index:1000050;overflow:auto;overscroll-behavior:contain;font:16px/1.5 var(--tb-font)}
.tb-ui-popover::backdrop{background:transparent}.tb-ui-popover[hidden],.tb-ui-error[hidden]{display:none!important}
.tb-ui-options{display:grid;gap:3px;margin:0;padding:0;max-height:300px;overflow:auto;scrollbar-width:thin;scrollbar-color:#94b2d4 transparent}
.tb-ui-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:46px;padding:12px 14px;text-align:left;background:transparent;color:var(--tb-ink);border:0;border-radius:10px;box-shadow:none;font:400 16px/1.4 var(--tb-font);cursor:pointer;overflow-wrap:anywhere}
.tb-ui-option:hover,.tb-ui-option:focus{background:#dce8f8}.tb-ui-option[aria-selected=true]{background:var(--tb-action);color:#fff;font-weight:600}.tb-ui-option:disabled{opacity:.45;cursor:not-allowed}
.tb-ui-option-group{font-size:14px;font-weight:700;padding:10px 14px 5px;color:var(--tb-muted)}.tb-ui-option-filter{width:100%;min-height:48px;padding:12px 16px!important;border:0!important;border-radius:var(--tb-radius-field)!important;background:#fff!important;box-shadow:none!important;color:var(--tb-ink)!important;font-size:16px!important;margin:0 0 8px!important;-webkit-appearance:none;appearance:none}
.tb-ui-empty{font-size:14px;padding:16px;color:var(--tb-muted);margin:0}
.tb-ui-calendar{width:344px;padding:12px;overflow:auto}.tb-ui-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:15px}
.tb-ui-calendar-head button,.tb-ui-calendar-foot button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 12px;border:0;border-radius:999px;box-shadow:none;background:#dce7f6;color:var(--tb-blue);font:600 16px/1.4 var(--tb-font);cursor:pointer}
.tb-ui-calendar-head .tb-ui-calendar-nav{width:44px;min-width:44px;padding:9px}.tb-ui-calendar-head svg{width:20px;height:20px}.tb-ui-calendar-head .tb-ui-calendar-month{background:transparent;flex:1;padding-inline:4px;gap:4px;text-transform:capitalize}
.tb-ui-calendar-head button:disabled,.tb-ui-calendar-grid button:disabled,.tb-ui-calendar-months button:disabled{opacity:.3;cursor:not-allowed}
.tb-ui-calendar-week,.tb-ui-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.tb-ui-calendar-week span{text-align:center;font-size:14px;color:var(--tb-muted);padding:0 0 8px}
.tb-ui-calendar-grid button{display:inline-flex;align-items:center;justify-content:center;min-width:0;width:100%;aspect-ratio:1;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;color:var(--tb-ink);font:500 16px/1 var(--tb-font);cursor:pointer}
.tb-ui-calendar-grid button:hover:not(:disabled){background:#d5e4f9}.tb-ui-calendar-grid button.is-outside{color:var(--tb-muted)}.tb-ui-calendar-grid button.is-today{font-weight:750;color:var(--tb-blue);background:#d9e8ff}.tb-ui-calendar-grid button[aria-pressed=true]{background:var(--tb-action);color:#fff}
.tb-ui-calendar-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tb-ui-calendar-months button{min-height:48px;background:#dce7f6;border:0;border-radius:var(--tb-radius-field);color:var(--tb-blue);font:500 14px/1.4 var(--tb-font);cursor:pointer;box-shadow:none}
.tb-ui-calendar-foot{display:flex;justify-content:space-between;gap:8px;margin-top:15px}.tb-ui-calendar-foot button{font-size:14px;min-height:44px}.tb-ui-calendar-foot .tb-ui-calendar-clear{background:transparent}
.tb-ui-search{display:flex;align-items:center;gap:8px;background:var(--tb-field);border-radius:var(--tb-radius-field);padding:0 12px;min-width:0;width:100%;box-shadow:none}
.tb-ui-search input{min-width:0;width:100%;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:11px 0!important;min-height:48px;font:inherit;font-size:16px!important;-webkit-appearance:none;appearance:none}
.tb-ui-search input::-webkit-search-decoration,.tb-ui-search input::-webkit-search-cancel-button,.tb-ui-option-filter::-webkit-search-decoration,.tb-ui-option-filter::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}
.tb-ui-search button{display:flex;align-items:center;justify-content:center;flex-shrink:0;min-height:44px;min-width:44px;padding:7px;background:transparent;border:0;border-radius:50%;box-shadow:none;color:var(--tb-muted);cursor:pointer}
.tb-ui-search button[hidden]{display:none!important}.tb-ui-search:focus-within{outline:3px solid var(--tb-focus);outline-offset:2px}
.search-strip .tb-ui-trigger{padding:5px 0!important;min-height:44px;background:transparent!important;border-radius:0!important}.search-strip .tb-ui-search{padding:0;background:transparent}.search-strip .tb-ui-search input{padding:3px 0!important;min-height:44px}.search-strip .tb-ui-search button{min-height:44px}
@media(max-width:380px){.tb-ui-calendar{padding:12px 2px;width:calc(100vw - 8px)!important;max-width:calc(100vw - 8px);left:4px!important}.tb-ui-calendar-grid,.tb-ui-calendar-week{gap:0}.tb-ui-calendar-head{gap:3px}.tb-ui-calendar-head .tb-ui-calendar-month{font-size:15px}}
@media(prefers-reduced-motion:no-preference){.tb-ui-trigger,.tb-ui-option,.tb-ui-calendar-grid button{transition:background .15s,color .15s}}

.tb-stay input[type=checkbox],.tb-stay-dialog input[type=checkbox],.tb-admin input[type=checkbox],.tb-stay-settings input[type=checkbox]{-webkit-appearance:none;appearance:none;display:inline-block;min-width:22px;width:22px;height:22px;min-height:22px;border:0;border-radius:7px;padding:0;background:#dfe8f5;flex-shrink:0}
.tb-stay input[type=checkbox]:checked,.tb-stay-dialog input[type=checkbox]:checked,.tb-admin input[type=checkbox]:checked,.tb-stay-settings input[type=checkbox]:checked{background:var(--tb-action) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4 10 4 4 8-8' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}

.tb-stay input[type=number],.tb-stay-dialog input[type=number],.tb-admin input[type=number]{-moz-appearance:textfield;appearance:textfield}
.tb-stay input[type=number]::-webkit-inner-spin-button,.tb-stay input[type=number]::-webkit-outer-spin-button,.tb-stay-dialog input[type=number]::-webkit-inner-spin-button,.tb-stay-dialog input[type=number]::-webkit-outer-spin-button,.tb-admin input[type=number]::-webkit-inner-spin-button,.tb-admin input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}

.tb-ui-trigger:active{background:#dce8f6!important}
.tb-ui-popover{font-family:var(--tb-font);line-height:1.45}
.tb-ui-options::-webkit-scrollbar{width:6px}.tb-ui-options::-webkit-scrollbar-thumb{background:#94b2d4;border-radius:999px}
.tb-ui-search:has(input[aria-invalid=true]){background:#fff0ed}
@media(forced-colors:active){.tb-ui-trigger,.tb-ui-option,.tb-ui-calendar-grid button,.tb-ui-search{outline:1px solid CanvasText}.tb-ui-option[aria-selected=true],.tb-ui-calendar-grid button[aria-pressed=true]{outline:2px solid Highlight}}
