/* Public Tuan AJ widget. It follows the public agent's existing availability gate. */
.aj-launcher{position:relative;display:flex;align-items:center;gap:11px;min-height:60px;max-width:calc(100vw - 32px);padding:10px 16px 10px 10px;border:1px solid #b90022;border-radius:18px;background:linear-gradient(135deg,#ed002a,#b90025);color:#fff;box-shadow:0 8px 24px #6f001b30;cursor:pointer;text-align:left;font-family:Arial,sans-serif}
.aj-launcher[hidden]{display:none}
.aj-avatar{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:#fff;color:#bc0025;font:800 16px/1 Arial,sans-serif;letter-spacing:-.7px}
.aj-launcher strong{display:block;font-size:13px;line-height:1.4;letter-spacing:0}
.aj-launcher small{display:block;margin-top:2px;font-size:10px;line-height:1.4;color:#ffe8ec}
.aj-launcher svg{flex:0 0 22px;margin-left:4px}
.aj-launcher:focus-visible,.aj-dialog :is(button,a,textarea):focus-visible{outline:3px solid #e90035;outline-offset:4px}
.aj-dialog{position:fixed;inset:auto 20px 98px auto;margin:0;width:min(410px,calc(100vw - 32px));height:min(660px,calc(100dvh - 130px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #e2dfe1;border-radius:20px;background:#fff;color:#252229;box-shadow:0 20px 70px #17191c33;font-family:Arial,sans-serif;overflow:hidden}
.aj-dialog[open]{display:flex;flex-direction:column}
.aj-dialog::backdrop{background:#11182755;backdrop-filter:blur(2px)}
.aj-dialog .aj-header{position:static;inset:auto;display:flex;align-items:center;flex:0 0 auto;gap:11px;width:100%;height:auto;margin:0;padding:16px;border:0;border-bottom:1px solid #ede7e9;background:#fff8f9;backdrop-filter:none}
.aj-header .aj-avatar{background:#bf0026;color:#fff}
.aj-dialog .aj-header h2{margin:0;font:800 18px/1.3 Arial,sans-serif;letter-spacing:-.4px;text-wrap:initial}
.aj-dialog .aj-header p{margin:3px 0 0;font:400 10px/1.5 Arial,sans-serif;color:#7c7278}
.aj-dialog .aj-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;margin-left:auto;padding:0;border:1px solid #e8dce0;border-radius:12px;background:white;color:#5a4c54;font:400 27px/1 Arial,sans-serif;cursor:pointer}
.aj-conversation{flex:1 1 auto;min-height:80px;padding:18px 16px;overflow-y:auto;overscroll-behavior:contain}
.aj-dialog .aj-intro{padding:14px;margin:0 0 14px;border:1px solid #ece7e9;border-radius:14px;background:#faf8f9;color:#5c555a;font-size:12px;line-height:1.75}
.aj-messages{display:flex;flex-direction:column;gap:10px}
.aj-message{max-width:94%;padding:12px 14px;border-radius:14px;font-size:13px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.aj-user{align-self:flex-end;background:#be0028;color:white;border-bottom-right-radius:4px}
.aj-assistant,.aj-pending{align-self:flex-start;background:#f3f3f4;color:#333037;border-bottom-left-radius:4px}
.aj-pending{color:#777;font-size:12px}
.aj-error{align-self:flex-start;background:#fff3e9;color:#81401c;border:1px solid #f2dcc8}
.aj-suggestions{display:grid;gap:8px;margin-top:14px}
.aj-dialog .aj-suggestions button{min-height:42px;padding:10px 12px;border:1px solid #e4dfe2;border-radius:10px;background:#fff;color:#8e0020;text-align:left;font:600 12px/1.5 Arial,sans-serif;cursor:pointer}
.aj-bottom{flex:0 0 auto;padding:12px 16px 16px;border-top:1px solid #ece7e9;background:white}
.aj-dialog .aj-status{margin:0 0 10px;color:#6c5f67;font-size:11px;line-height:1.6}
.aj-dialog .aj-retry{display:block;min-height:42px;margin:0 0 10px;padding:9px 14px;border:1px solid #e3d8de;border-radius:10px;background:#fff;color:#9c0023;font:700 12px/1.4 Arial,sans-serif;cursor:pointer}
.aj-dialog .aj-retry[hidden]{display:none}
.aj-form{display:flex;align-items:stretch;gap:8px;margin:0}
.aj-dialog .aj-form textarea{display:block;flex:1;min-width:0;width:100%;min-height:54px;max-height:110px;resize:vertical;margin:0;padding:11px 12px;border:1px solid #dcd5d9;border-radius:11px;background:#fff;color:#29242a;font:400 16px/1.5 Arial,sans-serif}
.aj-dialog .aj-form button{display:flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;min-height:54px;padding:12px 14px;border:1px solid #bf0026;border-radius:11px;background:#bf0026;color:white;font:700 12px/1.4 Arial,sans-serif;cursor:pointer}
.aj-dialog button:disabled{opacity:.45;cursor:not-allowed}
.aj-dialog textarea:disabled{background:#f6f5f5;color:#857a80}
.aj-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.aj-dialog .aj-actions a{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 8px;border:1px solid #e4dbe0;border-radius:10px;background:#fff;color:#980022;font:700 11px/1.4 Arial,sans-serif;text-decoration:none;text-align:center}
.aj-dialog .aj-privacy{margin:10px 0 0;color:#847880;font-size:9px;line-height:1.65}
.aj-dialog .aj-privacy a{color:#795466;text-decoration:underline}
.aj-dialog .aj-open-app{display:flex;align-items:center;justify-content:center;min-height:32px;padding:7px 0 0;color:#7d6c75;font-size:10px;line-height:1.5;text-decoration:underline;text-underline-offset:3px}
.aj-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:760px){
 .aj-launcher{min-height:48px;padding:7px 12px 7px 8px;border-radius:13px}
 .site-booking .aj-dock{padding-inline:18px}
 .aj-dialog{inset:auto 12px calc(84px + env(safe-area-inset-bottom)) auto;width:calc(100vw - 24px);height:min(680px,calc(100dvh - 108px - env(safe-area-inset-bottom)));max-height:calc(100dvh - 32px);border-radius:18px}
 .site-booking .aj-dialog,.site-policy .aj-dialog{bottom:12px;height:min(680px,calc(100dvh - 32px))}
}
@media(max-height:560px){.aj-dialog{inset:8px 8px auto auto!important;width:min(440px,calc(100vw - 16px));height:calc(100dvh - 16px)!important;max-height:calc(100dvh - 16px)}.aj-dialog .aj-header{padding:10px 12px}.aj-bottom{padding:10px 12px}.aj-dialog .aj-privacy{font-size:9px}.aj-suggestions{display:none}}
@media(prefers-reduced-motion:reduce){.aj-dialog::backdrop{backdrop-filter:none}}


.aj-dialog .aj-unavailable{padding:14px;margin:0 0 12px;border:1px solid #efd8c2;border-radius:12px;background:#fff8ee;color:#815331;font-size:12px;line-height:1.7}
.aj-unavailable[hidden],.aj-suggestions[hidden]{display:none!important}

@media(max-height:560px){.aj-dialog{overflow-y:auto}.aj-conversation{flex:0 0 auto;min-height:0;overflow-y:visible;padding:10px 12px}.aj-bottom{flex:0 0 auto}}

/* Keep the chat entry directly beneath the brand, in the header flow. */
.aj-dock{display:flex;justify-content:flex-start;padding-bottom:12px}
.site-home .aj-dock{width:min(1280px,90%);margin-inline:auto}
.site-booking .aj-dock{max-width:1160px;margin-inline:auto;padding-inline:24px}
.site-policy .aj-dock{flex:0 0 100%;padding-bottom:0}
.site-policy>header{flex-wrap:wrap;row-gap:14px}
.aj-dock .aj-launcher{min-height:48px;padding:7px 12px 7px 8px;border-radius:13px;box-shadow:0 4px 14px #6f001b20}
.aj-dock .aj-avatar{width:32px;height:32px;flex-basis:32px;border-radius:9px;font-size:14px}
@media(max-width:760px){.site-booking .aj-dock{padding-inline:18px}}

/* Compact entry, movable with pointer or touch. */
.aj-dock .aj-launcher{min-height:44px;gap:7px;padding:6px 10px 6px 6px;border-radius:12px;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}
.aj-dock .aj-launcher strong{font-size:11px}
.aj-dock .aj-launcher small,.aj-dock .aj-launcher>svg{display:none}
.aj-dock .aj-avatar{width:28px;height:28px;flex-basis:28px;font-size:12px;border-radius:8px}
.aj-dock .aj-launcher.aj-moved{position:fixed;right:auto;bottom:auto;z-index:65;margin:0}
.aj-dock .aj-launcher.aj-dragging{cursor:grabbing;box-shadow:0 8px 24px #6f001b40}
/* Keep moved coordinates relative to the viewport, including the sticky header. */
.site-home>header{backdrop-filter:none;background:#fff}
