/* Service inquiry only: one dialog, one draft, one canonical conversation. */
body.apd782-contact-open{position:fixed!important;top:var(--apd782-scroll,0)!important;left:0!important;right:0!important;width:100%!important;overflow:hidden!important}
body.apd782-contact-open .apd781-booking-bar{visibility:hidden!important}
body.apd781-service :is(#apd782-contact,#apd782-prompt,#apd782-receipt){font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;letter-spacing:-.015em!important;color:#222!important;font-size:16px!important;line-height:1.4!important;-webkit-font-smoothing:antialiased}
body.apd781-service :is(#apd782-contact,#apd782-prompt,#apd782-receipt) *{box-sizing:border-box}
body.apd781-service :is(#apd782-contact,#apd782-prompt,#apd782-receipt) [hidden],body.apd781-service :is(#apd782-prompt,#apd782-receipt)[hidden]{display:none!important}
body.apd781-service :is(#apd782-contact,#apd782-prompt,#apd782-receipt) :is(button,input,textarea,a){font-family:inherit!important;text-transform:none!important;letter-spacing:inherit!important;box-shadow:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
body.apd781-service :is(#apd782-contact,#apd782-prompt,#apd782-receipt) :is(button,a):focus-visible{outline:2px solid #222;outline-offset:4px}
body.apd781-service #apd782-contact{position:fixed!important;inset:auto 0 0!important;top:auto!important;bottom:var(--apd782-keyboard-bottom,0px)!important;width:100%!important;max-width:760px!important;height:var(--apd782-height,calc(100dvh - 12px))!important;max-height:calc(100dvh - 12px)!important;margin:0 auto!important;padding:0!important;border:0!important;border-radius:32px 32px 0 0!important;background:#fff!important;overflow:hidden!important;z-index:2147483000}
#apd782-contact:not([open]){display:none!important}
#apd782-contact[open]{display:block!important}
#apd782-contact::backdrop{background:rgba(0,0,0,.35)}
#apd782-contact .apd782-shell{height:100%;display:flex;flex-direction:column;min-height:0;background:#fff}
body.apd781-service #apd782-contact .apd782-header{position:relative;display:flex;flex:0 0 64px;align-items:center;justify-content:center;height:64px;padding:12px 16px;background:#fff;border:0}
body.apd781-service #apd782-contact .apd782-header button{position:absolute;top:12px;width:40px;height:40px;min-width:0;min-height:0;display:grid;place-items:center;border:0;border-radius:50%;padding:9px;background:transparent;color:#222;font-size:20px;line-height:1;cursor:pointer}
#apd782-contact .apd782-header [data-apd782-close]{right:12px}
#apd782-contact .apd782-header [data-apd782-back]{left:12px}
#apd782-contact svg{width:22px;height:22px;flex:none}
body.apd781-service #apd782-contact h2{font-size:28px!important;line-height:1.1!important;font-weight:700!important;letter-spacing:-.7px!important;color:#222!important;margin:2px 0 8px!important;text-transform:none!important}
body.apd781-service #apd782-contact #apd782-panel-title{font-size:18px!important;line-height:1.2!important;letter-spacing:-.3px!important;margin:0!important;padding:0 45px;text-align:center}
#apd782-contact .apd782-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 24px 24px;outline:none}
body.apd781-service #apd782-contact p{font-size:16px;line-height:1.4;margin:0;color:#717171}
body.apd781-service #apd782-contact .apd782-intro{font-size:17px;line-height:1.4;margin:0 0 34px}
body.apd781-service #apd782-contact textarea{display:block;width:100%!important;height:170px!important;min-height:170px!important;max-height:none!important;padding:10px!important;margin:0!important;border:1px solid #999!important;border-radius:12px!important;background:#fff!important;color:#222!important;font-size:17px!important;line-height:1.23!important;resize:vertical;outline-offset:2px;-webkit-appearance:none;appearance:none}
#apd782-contact textarea::placeholder{color:#bcbcbc!important;opacity:1}
body.apd781-service #apd782-contact #apd782-count{min-height:19px;font-size:13px;line-height:19px;margin-top:8px}
#apd782-contact #apd782-count.is-valid{visibility:hidden}
body.apd781-service #apd782-contact h3{font-size:18px!important;font-weight:650!important;line-height:1.3!important;margin:24px 0 17px!important;color:#222!important;text-transform:none!important;letter-spacing:-.35px!important}
#apd782-contact .apd782-summary{border:1px solid #ddd;border-radius:16px;padding:0 16px}
#apd782-contact .apd782-summary>div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:74px;padding:14px 0;border-bottom:1px solid #ddd}
#apd782-contact .apd782-summary>div:last-child{border-bottom:0}
#apd782-contact .apd782-summary>div>div{min-width:0}
#apd782-contact .apd782-summary strong{display:block;font-size:16px;font-weight:650;margin:0 0 3px}
#apd782-contact .apd782-summary span{display:block;color:#717171;font-size:16px;line-height:1.3;overflow-wrap:anywhere}
body.apd781-service #apd782-contact .apd782-summary button{flex:none;border:0;border-radius:9px;background:#f2f2f2;color:#222;padding:9px 15px;font-size:14px;line-height:1.1;font-weight:600;min-width:0;min-height:34px;cursor:pointer}
#apd782-contact .apd782-footer{flex:none;padding:10px 24px max(14px,env(safe-area-inset-bottom));background:#fff;border:0;position:relative}
body.apd781-service #apd782-contact .apd782-submit{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;height:48px;padding:12px 16px;border:0;border-radius:12px;background:#222!important;color:#fff!important;font-size:18px;font-weight:600;line-height:1;cursor:pointer}
body.apd781-service #apd782-contact .apd782-submit:disabled{background:#f2f2f2!important;color:#c3c3c3!important;cursor:default;opacity:1}
body.apd781-service #apd782-contact[data-busy] .apd782-submit{background:#222!important;color:#fff!important}
body.apd781-service #apd782-contact .apd782-error{color:#b32525;font-size:14px;margin:0 0 10px}
#apd782-contact .apd782-dots{display:flex;align-items:center;justify-content:center;gap:4px}
#apd782-contact .apd782-dots i{display:block;width:4px;height:4px;background:currentColor;border-radius:50%;animation:apd782-dot 1s infinite ease-in-out}
#apd782-contact .apd782-dots i:nth-child(2){animation-delay:.15s}
#apd782-contact .apd782-dots i:nth-child(3){animation-delay:.3s}
@keyframes apd782-dot{0%,70%,100%{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-2px)}}
#apd782-contact .apd782-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:2px 24px 14px;text-align:center;color:#717171;font-size:13px;font-weight:600;flex:none}
#apd782-contact .apd782-month{margin:0 0 30px}
body.apd781-service #apd782-contact .apd782-month h3{font-size:18px!important;margin:8px 0 18px!important}
#apd782-contact .apd782-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px 0}
body.apd781-service #apd782-contact .apd782-days button{display:grid;place-items:center;justify-self:center;width:44px;max-width:100%;height:44px;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:#222;font-size:16px;font-weight:600;line-height:1;cursor:pointer}
body.apd781-service #apd782-contact .apd782-days button:disabled{color:#c7c7c7;text-decoration:line-through;cursor:default}
body.apd781-service #apd782-contact .apd782-days button[aria-pressed="true"]{background:#222;color:#fff}
body.apd781-service #apd782-contact .apd782-text{display:inline-block;background:transparent;border:0;border-radius:4px;font-size:15px;font-weight:600;color:#222;text-decoration:underline;padding:12px 0;margin:0 18px 0 0;cursor:pointer}
#apd782-contact[data-panel="date"] .apd782-footer{border-top:1px solid #eee;padding-top:20px}
body.apd781-service #apd782-contact[data-panel="guests"]{height:min(520px,70dvh)!important}
#apd782-contact[data-panel="guests"] .apd782-scroll{display:flex;flex-direction:column;justify-content:center;padding-bottom:0}
#apd782-contact [data-apd782-panel="guests"]{width:100%}
#apd782-contact .apd782-stepper{display:flex;align-items:center;justify-content:center;gap:30px;padding:12px 0}
body.apd781-service #apd782-contact .apd782-stepper button{border:0;border-radius:50%;height:32px;width:32px;min-width:32px;min-height:0;padding:0;display:grid;place-items:center;background:#f2f2f2;color:#222;font-size:25px;font-weight:400;line-height:1;cursor:pointer}
body.apd781-service #apd782-contact .apd782-stepper button:disabled{color:#c3c3c3;cursor:default}
#apd782-contact .apd782-stepper output{font:700 120px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:-5px;color:#222;text-align:center;min-width:100px;margin:0;padding:0;background:none;border:0}
body.apd781-service #apd782-contact .apd782-capacity{font-size:13px;text-align:center;margin-top:8px}
#apd782-contact .apd782-search{height:56px;display:flex;align-items:center;gap:12px;border:1px solid #ddd;border-radius:30px;padding:0 16px}
body.apd781-service #apd782-contact .apd782-search input{font-size:16px!important;line-height:1.3!important;flex:1;width:100%;min-width:0;height:52px!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;outline:0!important;background:transparent!important;color:#222!important;-webkit-appearance:none;appearance:none}
#apd782-contact .apd782-search input::-webkit-search-cancel-button{display:none}
body.apd781-service #apd782-contact .apd782-search button{flex:none;display:grid;place-items:center;width:20px;height:20px;min-width:0;min-height:0;border:0;border-radius:50%;padding:4px;background:#ddd;color:#555}
#apd782-contact .apd782-search button svg{width:12px;height:12px}
body.apd781-service #apd782-contact .apd782-search-status{font-size:14px;margin:14px 0}
body.apd781-service #apd782-contact .apd782-place{display:flex;align-items:center;gap:14px;background:transparent;border:0;border-radius:8px;color:#222;text-align:left;padding:12px 0;width:100%;cursor:pointer}
#apd782-contact .apd782-place>span:first-child{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:12px;background:#f2f2f2}
#apd782-contact .apd782-place>span:last-child{min-width:0;overflow-wrap:anywhere}
#apd782-contact .apd782-place strong{display:block;font-size:17px;font-weight:400;line-height:1.3}
#apd782-contact .apd782-place small{display:block;font-size:14px;color:#717171;line-height:1.3;margin-top:3px}
#apd782-contact .apd782-sr{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;padding:0!important;border:0!important}
body.apd781-service :is(#apd782-prompt,#apd782-receipt){position:fixed;left:24px;right:24px;bottom:calc(var(--apd782-bar-height,86px) + 26px + env(safe-area-inset-bottom));width:auto;max-width:712px;margin:0 auto;padding:14px 16px;display:flex;align-items:center;gap:14px;border:1px solid #ddd;border-radius:14px;background:#fffffff5;box-shadow:0 4px 18px #0002;z-index:1001}
#apd782-prompt>svg{width:34px;height:34px;flex:none}
#apd782-prompt span{display:block;font-size:15px;line-height:1.3}
body.apd781-service #apd782-prompt button{display:block;background:transparent;border:0;border-radius:0;padding:0;margin-top:3px;color:#222;font-size:15px;font-weight:600;text-decoration:underline;line-height:1.3;cursor:pointer}
#apd782-receipt strong{font-size:15px;flex:1;font-weight:650;line-height:1.2}
#apd782-receipt .apd782-check{display:grid;place-items:center;width:20px;height:20px;flex:none;border-radius:50%;background:#3f8e62;color:#fff}
#apd782-receipt svg{width:15px;height:15px}
body.apd781-service #apd782-receipt a{display:block;flex:none;border:1px solid #aaa;border-radius:9px;padding:7px 11px;text-decoration:none;color:#222;font-size:14px;font-weight:600;line-height:1.2}
body.apd781-overlay-open :is(#apd782-prompt,#apd782-receipt),body.apd782-contact-open :is(#apd782-prompt,#apd782-receipt),body:has(#apd237-service-booking[open]) :is(#apd782-prompt,#apd782-receipt){visibility:hidden!important}
@media(min-width:800px){body.apd781-service #apd782-contact{bottom:24px!important;border-radius:24px!important;max-height:calc(100dvh - 48px)!important;height:min(850px,calc(100dvh - 48px))!important;width:640px!important}#apd782-contact .apd782-scroll{padding-left:32px;padding-right:32px}#apd782-contact .apd782-footer{padding-left:32px;padding-right:32px}}
@media(max-width:360px){#apd782-contact .apd782-scroll{padding-left:16px;padding-right:16px}#apd782-contact .apd782-footer{padding-left:16px;padding-right:16px}#apd782-contact .apd782-weekdays{padding-left:16px;padding-right:16px}#apd782-contact .apd782-stepper{gap:14px}#apd782-contact .apd782-stepper output{font-size:100px}body.apd781-service :is(#apd782-prompt,#apd782-receipt){left:12px;right:12px;gap:10px}}
@media(prefers-reduced-motion:reduce){#apd782-contact .apd782-dots i{animation:none;opacity:1}}
/* A brief, dismissible contact suggestion; the regular contact button stays available. */
html body.single-apd_service #apd782-prompt{padding:16px 48px 16px 16px;gap:12px}
html body.single-apd_service #apd782-prompt>div{min-width:0;overflow-wrap:anywhere}
html body.single-apd_service #apd782-prompt>[data-apd789-dismiss-prompt]{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:40px;height:40px;padding:8px;border:0;background:transparent;color:#717171;text-decoration:none}
html body.single-apd_service #apd782-prompt>[data-apd789-dismiss-prompt] svg{width:20px;height:20px}
