.customer-payment-dock{z-index:190;color:#302522;padding:12px max(16px,env(safe-area-inset-left)) calc(12px + env(safe-area-inset-bottom));box-sizing:border-box;background:#fffaf5;border-top:1px solid #d6c3a8;position:fixed;inset:auto 0 0;box-shadow:0 -5px 24px #30231e18}.customer-payment-dock-inner{align-items:center;gap:24px;max-width:1040px;margin:auto;display:flex}.customer-payment-total{flex-direction:column;flex-shrink:0;gap:3px;font-size:14px;display:flex}.customer-payment-total strong{font-size:24px;line-height:1.2}.customer-payment-buttons{flex-wrap:wrap;flex:1;gap:10px;min-width:0;display:flex}.customer-payment-buttons button,.customer-payment-buttons .continue.pay{color:#fff;white-space:normal;cursor:pointer;background:#30231e;border:1px solid #30231e;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;min-width:0;height:auto;min-height:48px;margin:0;padding:12px 16px;font-size:16px;font-weight:600;line-height:1.35;display:flex}.customer-payment-buttons .continue.paypal-pay{color:#30231e;background:#f5d78b;border-color:#dfbd69}.customer-payment-buttons button:disabled{opacity:.6;cursor:wait}.customer-payment-buttons button:focus-visible{outline-offset:3px;outline:3px solid #ad803d}.customer-payment-buttons svg{flex:none;width:18px;height:18px}.customer-payment-buttons p{flex-basis:100%;margin:0;font-size:14px;line-height:1.4}body:has(>.customer-payment-dock--page){padding-bottom:calc(var(--customer-payment-height,160px) + 16px);scroll-padding-bottom:calc(var(--customer-payment-height,160px) + 20px)}body:has(>.customer-payment-dock--page) .insight-consent{bottom:calc(var(--customer-payment-height,160px) + 8px)}.reservation-modal{position:relative}.customer-payment-dock--modal{z-index:2;border-radius:0 0 9px 9px;position:absolute}.reservation-modal:has(.customer-payment-dock--modal) .reservation-modal-scroll{padding-bottom:calc(var(--customer-payment-height,160px) + 24px);scroll-padding-bottom:calc(var(--customer-payment-height,160px) + 24px)}@media (max-width:650px){.customer-payment-dock-inner{gap:9px;display:block}.customer-payment-total{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:8px}.customer-payment-total strong{font-size:20px}.customer-payment-buttons{grid-template-columns:1fr;display:grid}.customer-payment-buttons button,.customer-payment-buttons .continue.pay{padding:10px 12px}.customer-payment-dock{padding-top:10px}}@media (min-width:651px){.customer-payment-dock--modal .customer-payment-dock-inner{gap:16px}.customer-payment-dock--modal .customer-payment-buttons{grid-template-columns:1fr;display:grid}}.reservation-page{color:#302522;background:#f7f2ef;min-height:100vh}.reservation-redirecting{place-items:center;font:18px Georgia,serif;display:grid}.reservation-embedded{background:0 0;min-height:0}.reservation-embedded .reservation-shell{width:100%;padding:4px 0 24px}.reservation-page>header{background:#fff;border-bottom:1px solid #e1d6cf;justify-content:space-between;align-items:center;min-height:76px;padding:10px 5vw;display:flex}.reservation-page>header a{color:#4c4039;align-items:center;gap:9px;font-size:11px;font-weight:800;text-decoration:none;display:flex}.reservation-page>header img{object-fit:cover;border-radius:50%;width:52px;height:52px}.reservation-page>header span b,.reservation-page>header span small{display:block}.reservation-page>header span b{letter-spacing:.08em;font:17px Georgia,serif}.reservation-page>header span small{color:#8c746a;letter-spacing:.15em;text-transform:uppercase;margin-top:3px;font-size:8px}.reservation-page>header svg{width:14px}.reservation-shell{width:min(980px,92vw);margin:0 auto;padding:56px 0 80px}.reservation-intro{text-align:center}.reservation-intro p{color:#a36e5e;text-transform:uppercase;letter-spacing:.17em;margin:0 0 8px;font-size:9px;font-weight:900}.reservation-intro h1{margin:0;font:42px/1.1 Georgia,serif}.reservation-intro span{color:#79665f;margin-top:12px;font-size:12px;display:block}.reservation-lookup{background:#fff;border:1px solid #e0d4cd;border-radius:6px;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;margin-top:30px;padding:22px;display:grid;box-shadow:0 15px 40px #442c220f}.reservation-lookup label,.reservation-reschedule label{color:#715d55;gap:7px;font-size:9px;font-weight:900;display:grid}.reservation-lookup input,.reservation-reschedule select,.reservation-reschedule input{color:#302522;background:#fcfaf9;border:1px solid #d7cac3;border-radius:4px;height:44px;padding:0 12px}.reservation-lookup button,.reservation-payments button,.reservation-management>button,.reservation-reschedule button{color:#fff;background:#302522;border:1px solid #302522;border-radius:4px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 16px;font-size:10px;font-weight:900;display:inline-flex}.reservation-lookup button:disabled,.reservation-payments button:disabled,.reservation-reschedule button:disabled{opacity:.45}.reservation-lookup button svg{width:14px}.reservation-error{color:#914b42;background:#fff5f3;border:1px solid #e6c4bd;border-radius:4px;padding:11px 14px;font-size:10px}.reservation-result{background:#fff;border:1px solid #ded2cb;border-radius:6px;margin-top:22px;padding:28px}.reservation-status-head{text-align:center}.reservation-status{color:#715d55;text-transform:uppercase;background:#eee7e3;border-radius:20px;padding:6px 9px;font-size:8px;font-weight:900;display:inline-block}.reservation-status.confirmed{color:#4f6f49;background:#e5f1e3}.reservation-status.awaiting_payment{color:#876529;background:#fbefd8}.reservation-status.cancelled,.reservation-status.expired{color:#914b42;background:#f7e5e1}.reservation-status-head small{color:#9c7c57;letter-spacing:.12em;margin-top:9px;font-size:9px;font-weight:900;display:block}.reservation-status-head h2{margin:9px 0 22px;font:28px Georgia,serif}.reservation-main-details{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.reservation-main-details>div{background:#faf7f5;gap:10px;padding:14px;display:flex}.reservation-main-details svg{color:#b28b58;flex:none;width:17px}.reservation-main-details b,.reservation-main-details small{display:block}.reservation-main-details b{font-size:10px}.reservation-main-details small{color:#806d65;margin-top:5px;font-size:9px;line-height:1.4}.reservation-selections{border:1px solid #e8ded9;grid-template-columns:repeat(2,1fr);gap:0 20px;margin:20px 0 0;padding:16px 18px;display:grid}.reservation-selections>div{border-bottom:1px solid #eee6e2;grid-template-columns:1fr 1.3fr;gap:10px;padding:8px 0;display:grid}.reservation-selections dt{color:#947e74;text-transform:uppercase;font-size:8px;font-weight:900}.reservation-selections dd{margin:0;font-size:9px;font-weight:700}.reservation-payments,.reservation-management,.reservation-reschedule{background:#fcfaf9;border:1px solid #dfd3cc;border-radius:4px;margin-top:20px;padding:18px}.reservation-payments p{color:#6c5a52;align-items:center;gap:7px;margin:0 0 12px;font-size:10px;display:flex}.reservation-payments p svg{color:#6a8a5d;width:15px}.reservation-payments button{margin:0 8px 8px 0}.reservation-management{justify-content:space-between;align-items:center;gap:15px;display:flex}.reservation-management>div{gap:9px;display:flex}.reservation-management svg{color:#66805c;flex:none;width:17px}.reservation-management b,.reservation-management small{display:block}.reservation-management b{font-size:11px}.reservation-management small{color:#7d6961;margin-top:4px;font-size:9px}.reservation-management>a{color:#795849;align-items:center;gap:6px;font-size:10px;font-weight:900;display:inline-flex}.reservation-question{color:#245d35;background:#effbf2;border:1px solid #87c99a;border-radius:5px;align-items:center;gap:11px;margin-top:18px;padding:15px 17px;text-decoration:none;display:flex}.reservation-question>svg{flex:none;width:21px}.reservation-question b,.reservation-question small{display:block}.reservation-question b{font-size:11px}.reservation-question small{color:#4f765a;margin-top:4px;font-size:9px}.reservation-reschedule{grid-template-columns:1fr 1fr;gap:13px;display:grid}.reservation-reschedule h3,.reservation-reschedule>p,.reservation-reschedule>div{grid-column:1/-1}.reservation-reschedule h3{margin:0;font:21px Georgia,serif}.reservation-reschedule>p{color:#806d65;margin:0;font-size:9px}.reservation-selected-date{background:#f8f2ed;border-left:3px solid #b28b58;padding:9px 11px;font-weight:800;color:#5f4c45!important}.reservation-reschedule>div{justify-content:flex-end;gap:8px;display:flex}.reservation-reschedule button.quiet{color:#5f4d46;background:#fff;border-color:#d7cac3}@media (max-width:720px){.reservation-shell :is(p,label,dt,dd,button,a,small),.reservation-selections :is(dt,dd),.reservation-main-details :is(span,small,strong){overflow-wrap:anywhere;font-size:14px;line-height:1.5}.reservation-shell :is(input,select){min-height:44px;font-size:16px}.reservation-page>header span{display:none}.reservation-shell{padding-top:38px}.reservation-intro h1{font-size:34px}.reservation-lookup,.reservation-main-details,.reservation-selections,.reservation-reschedule,.reservation-selections>div{grid-template-columns:1fr}.reservation-management{flex-direction:column;align-items:stretch}}.reservation-policy-note{color:#332719;overflow-wrap:anywhere;background:#faf6ed;border:1px solid #c9bca9;border-radius:12px;margin:16px 0;padding:18px}.reservation-policy-note h3{margin:0 0 10px;font-size:1.15rem}.reservation-policy-note p{margin:10px 0;line-height:1.55}.reservation-action-row{flex-wrap:wrap;gap:10px;display:flex}.reservation-action-row button,.reservation-policy-note button,.reservation-cancel-button,.reservation-action-link{color:#352519;min-height:44px;font:inherit;cursor:pointer;white-space:normal;text-align:center;background:#fff;border:1px solid #8a7157;border-radius:8px;padding:12px 16px}.reservation-action-link{margin:12px 0;text-decoration:underline;display:block}.reservation-cancel-button{margin:12px 0}.reservation-deposit-confirm{flex-basis:100%;gap:12px;width:100%;display:grid}.reservation-reschedule .reservation-acknowledgement{align-items:flex-start;gap:12px;line-height:1.5;display:flex}.reservation-reschedule .reservation-acknowledgement input{flex:0 0 22px;width:22px;height:22px;min-height:22px;margin:2px 0}.reservation-reschedule>.reservation-reschedule-actions{flex-wrap:wrap;align-items:start;display:flex}.reservation-reschedule-actions>.quiet{order:2}.reservation-deposit-confirm{flex-shrink:0;min-width:0}.reservation-deposit-confirm p{margin:0;line-height:1.5}.reservation-action-row button:disabled,.reservation-policy-note button:disabled{opacity:.55;cursor:wait}@media (max-width:480px){.reservation-result{padding:16px}.reservation-reschedule{padding:14px}.reservation-action-row{display:grid}.reservation-action-row button,.reservation-deposit-confirm button,.reservation-reschedule-actions>button{width:100%}}.reservation-service-editor{background:#fffdf9;border:1px solid #d9c9b3;border-radius:16px;gap:20px;min-width:0;margin-block:24px;padding:clamp(16px,3vw,28px);scroll-margin-top:24px;display:grid}.reservation-service-editor h3,.reservation-service-editor h4,.reservation-service-editor p{margin:0;line-height:1.55}.reservation-service-editor h3{font-size:clamp(23px,3vw,30px);line-height:1.2}.reservation-service-editor h4{font-size:19px}.reservation-service-editor-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.reservation-service-editor-head>div>p{text-transform:uppercase;letter-spacing:.08em;color:#72562e;margin-bottom:8px;font-size:13px}.reservation-service-editor button{white-space:normal;min-height:48px;line-height:1.4}.reservation-service-choices{border:0;min-width:0;margin:0;padding:0}.reservation-service-time{border:1px solid #ddd3c6;border-radius:12px;min-width:0;margin:0;padding:16px}.reservation-service-time legend{padding-inline:6px;font-weight:700}.reservation-service-time>p{color:#625653;margin-bottom:16px;font-size:14px}.reservation-service-time>div{grid-template-columns:1fr 1fr;gap:16px;display:grid}.reservation-service-time label{gap:8px;min-width:0;font-weight:600;display:grid}.reservation-service-time input,.reservation-service-time select{box-sizing:border-box;color:#322820;background:#fff;border:1px solid #bbafa2;border-radius:8px;width:100%;min-width:0;min-height:48px;padding:10px;font-size:16px}.reservation-service-review{background:#f5eee4;border-radius:12px;gap:16px;min-width:0;padding:20px;display:grid}.reservation-service-review dl{gap:12px;margin:0;display:grid}.reservation-service-review dl>div{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.reservation-service-review dd{white-space:nowrap;margin:0;font-weight:700}.reservation-service-due{border-top:1px solid #d3b98f;padding-top:14px;font-weight:700}.reservation-service-accept{cursor:pointer;align-items:flex-start;gap:12px;min-height:48px;padding-block:8px;font-size:15px;line-height:1.6;display:flex}.reservation-service-accept input{accent-color:#47301c;flex:0 0 22px;width:22px;height:22px;margin:3px 0 0}.reservation-service-actions{flex-wrap:wrap;gap:12px;display:flex}.reservation-service-editor :focus-visible{outline-offset:3px;outline:3px solid #8b642b}.reservation-service-editor fieldset:disabled{opacity:.7}.reservation-service-editor .reservation-error{margin:0}.reservation-service-editor .sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (max-width:560px){.reservation-service-editor-head{display:grid}.reservation-service-editor-head>button{justify-self:start}.reservation-service-time>div{grid-template-columns:1fr}.reservation-service-review{padding:16px}.reservation-service-review dl>div{gap:12px;font-size:15px}.reservation-service-actions{grid-template-columns:minmax(0,1fr);display:grid}.reservation-service-actions>button{width:100%}}
