/* One chat surface, shared by the standalone page and the launcher frame. */
.guest-page{height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column;align-items:center}
.guest-page .guest-wrap{display:flex;flex-direction:column;flex:1;min-height:0;width:calc(100% - 48px);max-width:900px;margin:24px auto;padding:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;gap:0}
.guest-header{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);flex-shrink:0;background:#fff}
.guest-logo{display:block;width:44px;height:44px;object-fit:contain}
.guest-identity{min-width:0}.guest-identity h1{font:650 18px/1.3 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.3px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.guest-page .chat-panel{display:flex;flex-direction:column;flex:1;min-height:0;border:0;border-radius:0;box-shadow:none}
.guest-page .conversation{flex:1;min-height:0;height:auto;padding:20px;overscroll-behavior:contain;scrollbar-gutter:stable}
.guest-page .bubble{flex-shrink:0;max-width:94%}.bubble a{color:var(--green);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.bubble.user a{color:inherit}
.guest-page .chat-controls{flex-shrink:0;padding:12px 16px 0}
.guest-page .chat-actions{padding-top:2px}.guest-page .chat-actions button{min-height:28px;padding:2px 8px}
.guest-page .composer textarea{max-height:112px}
.guest-page .composer #send{width:44px;min-width:44px;padding:0;border-radius:50%;display:grid;place-items:center}
.guest-page .chat-controls .pending-actions{max-height:115px;overflow:auto;margin-top:6px;padding:8px}
.guest-page #guest-status{flex-shrink:0;max-height:100px;overflow:auto;margin:0;padding:8px 16px;min-height:0;background:#f5f7f3}
.guest-page #guest-status:empty{display:none}
.guest-footer{display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;padding:0 12px 4px;font-size:11px;color:var(--muted);background:#fff}
.guest-footer button,.guest-footer a{display:inline-flex;align-items:center;min-height:24px;white-space:nowrap;font-size:11px;color:var(--muted)}.guest-footer button{padding:2px 0;font-weight:400}.guest-footer #restart{color:var(--green);font-weight:600}
.utility-separator{width:1px;height:12px;flex-shrink:0;background:var(--line)}
.privacy-content{padding:16px 20px;font-size:14px;line-height:1.65;overflow-wrap:anywhere}#privacy-notice-text{white-space:pre-wrap}.privacy-source{margin:16px 0 0;font-size:12px}
.about-content{padding:16px 20px;font-size:14px;line-height:1.6}.about-content p:last-of-type{margin-bottom:16px}.test-delivery-note{font-size:12px;line-height:1.5}
.guest-page .preview-login{flex:0 1 auto;width:calc(100% - 24px);margin:auto;max-height:calc(100dvh - 80px);overflow:auto}
.guest-page.embedded-chat .guest-wrap{width:100%;max-width:none;margin:0;border:0;border-radius:0}
.guest-page.embedded-chat .guest-header{padding:12px 64px 12px 14px;gap:10px;grid-template-columns:36px minmax(0,1fr)}
.guest-page.inline-chat .guest-header{padding-right:14px}
.guest-page .action-dialog{width:min(1020px,calc(100% - 24px))}
@media(min-width:700px){.enquiry-contact{display:grid;grid-template-columns:1fr 1fr;gap:16px}.action-dialog .stay-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:900px){
  .action-dialog .enquiry-form{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;grid-template-areas:'note note' 'hours hours' 'contact contact' 'summary stay' 'consent stay' 'offers stay' 'status status' 'update update' 'actions actions';align-items:start}
  .enquiry-form>.test-delivery-note{grid-area:note}.enquiry-form>.enquiry-hours{grid-area:hours}.enquiry-form>.enquiry-contact{grid-area:contact}.enquiry-form>.enquiry-summary{grid-area:summary}.enquiry-form>.stay-details{grid-area:stay;margin-top:0}.enquiry-form>.consent-choice{grid-area:consent}.enquiry-form>.offer-signup{grid-area:offers}.enquiry-form>.status{grid-area:status}.enquiry-form>.quiet{grid-area:update}.enquiry-form>.row{grid-area:actions}.action-dialog .enquiry-form .stay-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.embedded-chat .guest-logo{width:36px;height:40px}.embedded-chat .guest-identity h1{font-size:15px}.embedded-chat .conversation{padding:14px}
.guest-page button:focus-visible,.guest-page a:focus-visible,.guest-page .conversation:focus-visible{outline:2px solid var(--green);outline-offset:3px}
@media(max-width:600px){.guest-page .guest-wrap{width:100%;margin:0;border:0;border-radius:0}.guest-header{padding:12px 14px;gap:10px}.guest-identity h1{font-size:16px}.guest-page .conversation{padding:14px}.guest-page .chat-controls{padding:10px 12px 0}.guest-page .chat-actions{gap:2px}.guest-page .chat-actions button{font-size:11px;padding:2px 6px}.guest-page .preview-login{padding:20px}}
@media(max-height:500px){.guest-header{padding-top:8px;padding-bottom:8px}.guest-page .chat-controls{padding-top:6px}.guest-page .chat-actions button{min-height:28px}.guest-footer{padding-bottom:2px}.guest-page .composer textarea{max-height:72px}}
@media(max-width:360px){.guest-page .chat-actions button{padding-inline:3px;letter-spacing:-.15px}.guest-page.embedded-chat .guest-header{grid-template-columns:32px minmax(0,1fr)}.embedded-chat .guest-logo{width:32px}.embedded-chat .guest-identity h1{font-size:14px}}

@keyframes guest-dialog-enter{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:no-preference){.guest-page dialog[open]{animation:guest-dialog-enter .3s ease-out}}
