/* Shared contact panel. All rules scoped to avoid changing page/booking styles. */
#l29-question-launch,#l29-question-panel{font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;box-sizing:border-box}
#l29-question-launch{position:fixed;z-index:90;right:24px;bottom:calc(24px + env(safe-area-inset-bottom));border:1px solid #946168;border-radius:50px;background:#742e35;color:#fffdf8;padding:14px 20px;min-height:48px;display:flex;gap:10px;align-items:center;font-size:13px;font-weight:500;box-shadow:0 6px 24px #38202226;cursor:pointer;transition:background .2s,transform .2s}
#l29-question-launch:hover{background:#5f252c;transform:translateY(-2px)}
#l29-question-launch svg{width:19px;height:19px;max-height:none;flex-shrink:0}
html[data-l29-dock-visible] #l29-question-launch{bottom:calc(106px + env(safe-area-inset-bottom))}
#l29-question-panel{position:fixed;inset:auto 24px 24px auto;margin:0;width:min(410px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;padding:27px;background:#fffdf8;color:#252320;border:1px solid #d8cbbd;border-radius:12px;box-shadow:0 18px 75px #25192330}
#l29-question-panel::backdrop{background:#25232033}
#l29-question-panel *{box-sizing:border-box}
#l29-question-panel .l29-q-close{position:absolute;right:12px;top:10px;border:0;background:transparent;padding:8px;min-width:44px;min-height:44px;color:#742e35;font-size:27px;cursor:pointer}
#l29-question-panel .l29-q-brand{color:#742e35;font-size:10px;letter-spacing:.2em;margin:0 40px 13px 0}
#l29-question-panel h2{font:400 30px/1.15 "Iowan Old Style","Baskerville",Georgia,serif;letter-spacing:-.02em;margin:0 30px 13px 0;color:#252320}
#l29-question-panel p{font:400 13px/1.6 "Avenir Next","Helvetica Neue",Arial,sans-serif;margin:0 0 18px;color:#6c6058}
#l29-question-panel label{display:block;margin:13px 0 5px;font-size:12px;color:#443b36}
#l29-question-panel input,#l29-question-panel textarea{display:block;width:100%;max-width:100%;padding:11px 12px;border:1px solid #cfc2b4;border-radius:4px;background:#fff;color:#252320;font:400 16px/1.45 "Avenir Next","Helvetica Neue",Arial,sans-serif;letter-spacing:normal}
#l29-question-panel textarea{min-height:110px;resize:vertical}
#l29-question-panel .l29-q-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#l29-question-panel .l29-q-send{margin-top:17px;width:100%;border:1px solid #742e35;border-radius:4px;padding:13px;background:#742e35;color:#fffdf8;font:500 13px/1.4 "Avenir Next","Helvetica Neue",Arial,sans-serif;cursor:pointer}
#l29-question-panel .l29-q-send:disabled{opacity:.65;cursor:wait}
#l29-question-panel .l29-q-meta{margin:14px 0 0;font-size:11px;line-height:1.6}
#l29-question-panel a{color:#742e35;text-decoration:underline;text-underline-offset:3px}
#l29-question-panel .l29-q-status{margin:15px 0 0;font-size:13px;color:#742e35}
#l29-question-panel .l29-q-status:empty{display:none}
#l29-question-panel [hidden]{display:none!important}
#l29-question-panel :focus-visible,#l29-question-launch:focus-visible{outline:2px solid #a47c4e;outline-offset:3px}
body.l29-has-question{padding-bottom:85px}
@media(max-width:600px){#l29-question-launch{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));padding:12px 15px;font-size:12px}#l29-question-panel{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:calc(100vw - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-bottom));padding:23px}#l29-question-launch.l29-q-editing{visibility:hidden}}
@media(prefers-reduced-motion:reduce){#l29-question-launch{transition:none}}
@media print{#l29-question-launch,#l29-question-panel{display:none!important}body.l29-has-question{padding-bottom:0}}
