/* Site-owned controls: gray, champagne, keyboard focus and touch targets. */
.tfs-date-control{grid-template-columns:minmax(0,1fr) 44px auto}
.tfs-date-clear{width:44px;min-height:44px;border:1px solid #9b8a70;border-radius:6px;background:#f2f2f2;color:#353535;font-size:24px}
.tfs-date-clear[hidden]{display:none}
.tfs-date-control input[readonly]{cursor:pointer;background:#fff;color:#353535}
.tfs-number-control{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:6px;min-width:0}
.tfs-number-control input{width:100%;min-width:0;appearance:textfield;-moz-appearance:textfield}
.tfs-number-control input::-webkit-inner-spin-button,.tfs-number-control input::-webkit-outer-spin-button{appearance:none;margin:0}
.tfs-number-control>button{min-height:44px;border:1px solid #9b8a70;border-radius:6px;background:#f2f2f2;color:#353535;font-size:22px}
.tfs-calendar{position:fixed;z-index:10000;max-height:calc(100dvh - 24px);overflow:auto;padding:12px;border:1px solid #9b8a70;border-radius:12px;background:#f7f6f3;color:#353535;box-shadow:0 14px 42px #0004;font:16px/1.4 Arial,sans-serif;isolation:isolate}
.tfs-calendar button{min-width:0;min-height:44px;padding:6px;border:1px solid transparent;border-radius:7px;background:transparent;color:#353535;font:inherit;cursor:pointer}
.tfs-calendar-heading{display:grid;grid-template-columns:36px minmax(0,1fr) 80px 36px;gap:3px;align-items:center;text-align:center}
.tfs-calendar-heading>button{font-size:14px;text-transform:capitalize}
.tfs-calendar-heading>button:first-child,.tfs-calendar-heading>button:last-child{font-size:28px}
.tfs-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;text-align:center;margin-top:8px}
.tfs-calendar-grid>span{padding:4px 0;color:#6c6255;font-size:12px}
.tfs-calendar-grid>button{padding:0;min-height:40px}
.tfs-calendar button:hover,.tfs-calendar button[aria-pressed=true],.tfs-calendar button[aria-selected=true]{background:#ccb48d;color:#171914}
.tfs-calendar button[aria-current=date]{border-color:#806a49}
.tfs-calendar button:disabled{opacity:.4;cursor:default}
.tfs-calendar button:focus-visible,.tfs-number-control>button:focus-visible,.tfs-date-clear:focus-visible{outline:2px solid #705b41;outline-offset:1px}
.tfs-calendar-footer{display:flex;justify-content:space-between;border-top:1px solid #d6cdbf;margin-top:8px;padding-top:8px;gap:8px}
.tfs-calendar-footer button{border-color:#9b8a70;padding:6px 12px}
.tfs-calendar-options{position:absolute;inset:60px 12px auto;max-height:260px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:8px;background:#f7f6f3;border:1px solid #9b8a70;border-radius:9px;box-shadow:0 8px 20px #0003;z-index:2}
.tfs-calendar-options>button{text-align:left;padding:8px;font-size:14px;text-transform:capitalize}
@media(max-width:360px){.tfs-calendar{padding:8px}.tfs-calendar-heading{grid-template-columns:30px minmax(0,1fr) 70px 30px}.tfs-calendar-grid>button{min-height:38px}}
@media(forced-colors:active){.tfs-calendar,.tfs-calendar-options{border:1px solid CanvasText}.tfs-calendar button[aria-pressed=true],.tfs-calendar button[aria-selected=true]{outline:2px solid Highlight}}

@keyframes tfs-phone-autofill{from{opacity:.999}to{opacity:1}}
input[type=tel][data-tfs-mask-engine]:-webkit-autofill{animation-name:tfs-phone-autofill;animation-duration:.01s}
