.cal-booking{margin:18px 0;}.cal-booking .cal-cta{margin:0 0 4px;}.cal-panel{margin-top:14px;background:var(--panel);border:1px solid var(--rule-strong);border-radius:3px;padding:18px 18px 20px;max-width:560px;font-family:var(--sans);color:var(--ink);}.cal-panel[hidden]{display:none;}.cal-panel h3{margin:0 0 4px;font-family:var(--display);font-size:19px;font-weight:600;}.cal-panel .cal-intro{margin:0 0 16px;font-size:14px;color:var(--ink-2);}.cal-tz{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2);margin-bottom:14px;}.cal-tz select{font:inherit;font-family:var(--sans);background:var(--panel);color:var(--ink);border:1px solid var(--control);border-radius:2px;padding:3px 6px;}.cal-datebar{display:flex;align-items:center;gap:6px;margin-bottom:14px;}.cal-datebar-nav{flex:none;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;background:var(--panel-2);border:1px solid var(--control);border-radius:2px;cursor:pointer;color:var(--ink);font-size:16px;line-height:1;}.cal-datebar-nav:hover:not(:disabled){background:var(--panel-3);}.cal-datebar-nav:disabled{opacity:.4;cursor:not-allowed;}.cal-dates{display:flex;gap:6px;overflow-x:auto;flex:1;padding-bottom:2px;scrollbar-width:thin;}.cal-date{flex:none;min-width:56px;min-height:44px;padding:6px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--panel-2);border:1px solid var(--control);border-radius:2px;cursor:pointer;color:var(--ink);font-family:var(--sans);font-size:12.5px;}.cal-date .cal-date-dow{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);font-size:11px;}.cal-date .cal-date-num{font-size:15px;font-weight:600;margin-top:1px;}.cal-date:hover:not(:disabled){background:var(--panel-3);}.cal-date:disabled{opacity:.35;cursor:not-allowed;}.cal-date[aria-pressed="true"],.cal-date[aria-pressed="true"]:hover:not(:disabled){background:var(--indigo);border-color:var(--indigo);color:#fff;}.cal-date[aria-pressed="true"] .cal-date-dow{color:rgba(255,255,255,0.8);}.cal-date.cal-date-empty{visibility:hidden;pointer-events:none;}.cal-times-label,.cal-form-heading{font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);margin:0 0 8px;font-family:var(--sans);}.cal-times{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;min-height:44px;}.cal-time{min-width:84px;min-height:44px;padding:8px 12px;background:var(--panel);border:1px solid var(--control);border-radius:2px;cursor:pointer;color:var(--ink);font-family:var(--sans);font-size:14px;}.cal-time:hover{background:var(--panel-2);}.cal-time[aria-pressed="true"]{background:var(--indigo);border-color:var(--indigo);color:#fff;}.cal-status{font-size:13.5px;color:var(--ink-2);margin:6px 0 14px;}.cal-status[data-tone="error"]{color:var(--warn);}.cal-form{display:grid;gap:14px;margin-top:4px;}.cal-form .cal-selected-time{font-size:14px;padding:10px 12px;background:var(--indigo-tint);border:1px solid var(--indigo-edge);border-radius:2px;color:var(--indigo-text);font-weight:600;}.cal-form .form-row label{font-size:13px;}.cal-honeypot{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden;}.cal-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px;}.cal-actions .btn-ghost{min-height:44px;}.cal-actions .btn-primary{min-height:44px;}.cal-success{padding:4px 0;}.cal-success h3{margin-bottom:8px;}.cal-success p{font-size:14.5px;color:var(--ink-2);margin:0 0 12px;}.cal-fallback{font-size:13.5px;margin-top:10px;}.cal-fallback a{color:var(--indigo-text);text-decoration:underline;}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cal-date[aria-pressed="true"],:root:not([data-theme="light"]) .cal-time[aria-pressed="true"]{color:var(--band-btn-ink,#1A1612);}}:root[data-theme="dark"] .cal-date[aria-pressed="true"],:root[data-theme="dark"] .cal-time[aria-pressed="true"]{color:#1A1612;}@media (max-width:480px){.cal-panel{padding:14px 14px 16px;}.cal-date{min-width:50px;}}.cal-dialog{padding:0;border:0;background:transparent;color:var(--ink);width:min(600px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 48px);}.cal-dialog::backdrop{background:rgba(26,22,18,0.55);}.cal-panel.cal-panel-dialog{margin:0;max-width:none;padding:0;display:flex;flex-direction:column;max-height:calc(100dvh - 48px);box-shadow:0 18px 60px rgba(0,0,0,0.28);}.cal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 10px 20px;border-bottom:1px solid var(--rule);}.cal-panel-dialog .cal-head h3{margin:0;}.cal-close{flex:none;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:2px;color:var(--ink-2);font-size:26px;line-height:1;cursor:pointer;}.cal-close:hover{background:var(--panel-2);color:var(--ink);}.cal-scroll{overflow-y:auto;padding:14px 20px 20px;overscroll-behavior:contain;}.cal-step1[hidden]{display:none;}.cal-success .btn{margin-top:12px;}@media (max-width:600px){.cal-dialog{width:100vw;max-height:100dvh;height:100dvh;margin:0;}.cal-panel.cal-panel-dialog{height:100dvh;max-height:100dvh;border:0;border-radius:0;box-shadow:none;}.cal-scroll{padding:14px 16px 24px;}}.cal-dialog .cal-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));}.cal-dialog .cal-time{width:100%;}@keyframes cal-lift-in{from{opacity:0;transform:translateY(10px) scale(.985);}to{opacity:1;transform:none;}}@keyframes cal-lift-out{from{opacity:1;transform:none;}to{opacity:0;transform:translateY(6px) scale(.99);}}@keyframes cal-sheet-in{from{transform:translateY(100%);}to{transform:none;}}@keyframes cal-sheet-out{from{transform:none;}to{transform:translateY(100%);}}@keyframes cal-fade-in{from{opacity:0;}to{opacity:1;}}@keyframes cal-fade-out{from{opacity:1;}to{opacity:0;}}@keyframes cal-step-in{from{opacity:0;transform:translateX(8px);}to{opacity:1;transform:none;}}@keyframes cal-rise-in{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}@keyframes cal-draw{to{stroke-dashoffset:0;}}@keyframes cal-pop{0%{transform:scale(.6);opacity:0;}60%{transform:scale(1.06);opacity:1;}100%{transform:scale(1);}}.cal-check{display:block;width:52px;height:52px;margin:4px 0 10px;}.cal-check circle{stroke:var(--indigo);stroke-width:2.5;stroke-dasharray:151;stroke-dashoffset:0;}.cal-check path{stroke:var(--indigo);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:36;stroke-dashoffset:0;}:root[data-theme="dark"] .cal-check circle,:root[data-theme="dark"] .cal-check path{stroke:var(--indigo-text);}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cal-check circle,:root:not([data-theme="light"]) .cal-check path{stroke:var(--indigo-text);}}@media (prefers-reduced-motion:no-preference){.cal-dialog[open] .cal-panel-dialog{animation:cal-lift-in .22s cubic-bezier(.2,.8,.2,1);}.cal-dialog[open]::backdrop{animation:cal-fade-in .2s ease-out;}.cal-dialog.is-closing .cal-panel-dialog{animation:cal-lift-out .16s ease-in forwards;}.cal-dialog.is-closing::backdrop{animation:cal-fade-out .16s ease-in forwards;}.cal-step1.cal-enter,.cal-form-wrap.cal-enter{animation:cal-step-in .2s ease-out;}.cal-times.cal-enter{animation:cal-rise-in .18s ease-out;}.cal-success.cal-enter{animation:cal-rise-in .22s ease-out;}.cal-success.cal-enter .cal-check{animation:cal-pop .35s cubic-bezier(.2,.8,.2,1) both;}.cal-success.cal-enter .cal-check circle{stroke-dashoffset:151;animation:cal-draw .45s ease-out .05s forwards;}.cal-success.cal-enter .cal-check path{stroke-dashoffset:36;animation:cal-draw .3s ease-out .4s forwards;}.cal-date,.cal-time,.cal-datebar-nav,.cal-close{transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .1s ease;}.cal-date:active:not(:disabled),.cal-time:active,.cal-datebar-nav:active:not(:disabled){transform:scale(.96);}@media (max-width:600px){.cal-dialog[open] .cal-panel-dialog{animation:cal-sheet-in .26s cubic-bezier(.2,.8,.2,1);}.cal-dialog.is-closing .cal-panel-dialog{animation:cal-sheet-out .2s ease-in forwards;}}}.cal-submit{gap:10px;}.cal-submit:disabled{opacity:1;cursor:progress;}.cal-btn-label{display:inline-block;}@media (prefers-reduced-motion:no-preference){.cal-btn-label.cal-enter{animation:cal-label-in .18s ease-out;}.cal-form.is-sending .cal-submit::after{animation:btn-spin .7s linear infinite,cal-fade-in .15s ease-out;}}@keyframes cal-label-in{from{opacity:0;transform:translateY(5px);}to{opacity:1;transform:none;}}@keyframes btn-spin{to{transform:rotate(360deg);}}
