/* Scoped standalone assistant. Does not modify the existing site's styles. */
.pandi-chat, .pandi-chat * { box-sizing: border-box; }
.pandi-chat { position: fixed; z-index: 9500; right: 22px; bottom: 22px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 1.45; color: #182027; }
.pandi-chat button, .pandi-chat textarea, .pandi-chat input { font: inherit; }
.pandi-chat button { cursor: pointer; }
.pandi-chat button:focus-visible, .pandi-chat textarea:focus-visible, .pandi-chat a:focus-visible, .pandi-chat input:focus-visible { outline: 3px solid #63b1fa; outline-offset: 3px; }
.pandi-chat__launch { display: flex; align-items: center; gap: 11px; margin-left: auto; background: #161a1d; color: #fff; border: 1px solid rgba(255,255,255,.15); border-radius: 100px; min-height: 57px; padding: 11px 19px; font-weight: 750 !important; letter-spacing: .1px; box-shadow: 0 14px 36px rgba(0,0,0,.24); transition: transform .2s, box-shadow .2s; }
.pandi-chat__launch:hover { transform: translateY(-2px); box-shadow: 0 17px 40px rgba(0,0,0,.32); }
.pandi-chat__launch svg { width: 21px; height: 21px; flex-shrink: 0; }
.pandi-chat__panel { width: min(392px, calc(100vw - 28px)); height: min(628px, calc(100dvh - 105px)); min-height: 380px; background: #fff; display: flex; flex-direction: column; overflow: hidden; border: 1px solid #e1e5e9; border-radius: 20px; box-shadow: 0 24px 75px rgba(0,0,0,.25); margin-bottom: 12px; transform-origin: bottom right; animation: pandi-chat-arrive .21s ease-out; }
.pandi-chat__panel[hidden], .pandi-chat__launch[hidden] { display: none !important; }
@keyframes pandi-chat-arrive { from { opacity: 0; transform: translateY(10px) scale(.975); } to { opacity: 1; transform: translateY(0) scale(1); } }
.pandi-chat__header { padding: 17px 17px 16px; flex: 0 0 auto; display:flex; justify-content:space-between; align-items:center; gap:10px; background: #171a1e; color: white; }
.pandi-chat__identity { display:flex; gap:11px; align-items:center; min-width:0; }
.pandi-chat__mark { width:42px; height:42px; display:grid; place-items:center; background:white; color:#171a1e; border-radius:12px; flex-shrink:0; overflow:hidden; box-shadow: inset 0 0 0 1px rgba(0,0,0,.05); }
.pandi-chat__mark-img { display:block; width:100%; height:100%; object-fit:contain; }
.pandi-chat__brand { font-size:15px; font-weight:800; line-height:1.3; }
.pandi-chat__sub { font-size:12px; color:#c1c7cf; margin-top:3px; }
.pandi-chat__sub:before { content:""; display:inline-block; vertical-align:middle; width:7px; height:7px; background:#88d9a1; border-radius:50%; margin:0 6px 2px 0; }
.pandi-chat__header-actions { display:flex; gap:3px; }
.pandi-chat__icon-btn { display:grid; place-items:center; width:34px; height:34px; border:0; background:transparent; color:white; border-radius:9px; font-size:21px; }
.pandi-chat__icon-btn:hover { background:rgba(255,255,255,.15); }
.pandi-chat__icon-btn svg { width:17px; height:17px; }
.pandi-chat__stream { flex:1 1 auto; overflow-y:auto; padding:20px 15px 16px; overscroll-behavior:contain; background:#f8f9fb; scrollbar-color:#ccd0d4 transparent; }
.pandi-chat__hello { margin-bottom:17px; }
.pandi-chat__eyebrow { text-transform:uppercase; letter-spacing:1.5px; font-size:10px; font-weight:800; color:#757c83; margin-bottom:8px; }
.pandi-chat__hello h3 { font-size:21px; font-weight:800; margin:0 0 7px; line-height:1.25; color:#1a1e24; }
.pandi-chat__hello p { margin:0 0 16px; font-size:13px; color:#636a72; }
.pandi-chat__suggestions { display:flex; flex-wrap:wrap; gap:7px; }
.pandi-chat__suggestion { border:1px solid #d4d9df; background:white; color:#252a30; font-size:12px !important; border-radius:100px; padding:9px 11px; font-weight:700 !important; text-align:left; }
.pandi-chat__suggestion:hover { background:#eceef1; border-color:#bec3c8; }
.pandi-chat__message { max-width:89%; margin:0 0 16px; }
.pandi-chat__message--user { margin-left:auto; }
.pandi-chat__bubble { padding:12px 14px; line-height:1.53; font-size:13.5px; white-space:pre-wrap; overflow-wrap:anywhere; border-radius:14px 14px 14px 3px; background:white; color:#252b30; border:1px solid #e8eaed; box-shadow:0 2px 8px rgba(0,0,0,.035); }
.pandi-chat__bubble a { color:#0d5fb8; font-weight:700; text-decoration:underline; }
.pandi-chat__message--user .pandi-chat__bubble a { color:#ffffff; }
.pandi-chat__auto-link[href^="tel:"] { display:inline-flex; align-items:center; gap:5px; }
.pandi-chat__auto-link[href^="tel:"]::before { content:"📞"; font-size:12px; line-height:1; }
.pandi-chat__message--user .pandi-chat__bubble { border:0; background:#1c2025; color:#fff; border-radius:14px 14px 3px 14px; }
.pandi-chat__meta { font-size:10px; color:#8a9199; margin:5px 2px 0; display:flex; gap:7px; align-items:center; }
.pandi-chat__message--user .pandi-chat__meta { justify-content:flex-end; }
.pandi-chat__feedback { margin-left:auto; display:flex; gap:3px; }
.pandi-chat__feedback button { font-size:12px; padding:1px 5px; background:none; border:0; color:#7f8790; border-radius:5px; }
.pandi-chat__feedback button:hover { color:#222; background:#e8eaed; }
.pandi-chat__feedback button:disabled { opacity:.6; cursor:default; }
.pandi-chat__typing { color:#666; font-size:12px; background:#fff; padding:12px 14px; display:inline-block; border-radius:13px; border:1px solid #e5e8ec; margin-bottom:12px; }
.pandi-chat__typing i { display:inline-block; width:5px; height:5px; margin:0 2px 2px; border-radius:50%; background:#888; animation:pandi-chat-pulse 1s infinite; }
.pandi-chat__typing i:nth-child(2) { animation-delay:.15s; }.pandi-chat__typing i:nth-child(3) { animation-delay:.3s; }
@keyframes pandi-chat-pulse { 50% { opacity:.25; transform:translateY(-3px); } }
.pandi-chat__compose { flex: 0 0 auto; background:white; border-top:1px solid #ebedf0; padding:12px 14px 13px; }
.pandi-chat__privacy { display:flex; align-items:flex-start; gap:9px; padding:10px; border:1px solid #e4e7eb; border-radius:9px; background:#f8fafc; font-size:11px; color:#505963; margin-bottom:10px; line-height:1.45; }
.pandi-chat__privacy[hidden], .pandi-chat__notice[hidden] { display:none; }
.pandi-chat__privacy input { width:16px; height:16px; margin:1px 0 0; flex-shrink:0; accent-color:#222; }
.pandi-chat__privacy a { color:#1b4777; text-decoration:underline; }
.pandi-chat__form { display:flex; gap:9px; align-items:flex-end; }
.pandi-chat__input { border:1px solid #d7dce2; background:#fff; border-radius:11px; min-height:45px; max-height:116px; resize:none; width:100%; padding:12px; font-size:13px !important; color:#242a30; line-height:1.4; outline:none; }
.pandi-chat__input:focus { border-color:#6f7b85; }
.pandi-chat__send { border:none; background:#181c21; color:white; height:45px; width:45px; flex:0 0 45px; border-radius:11px; display:grid; place-items:center; }
.pandi-chat__send:hover:not(:disabled) { background:#3a4046; }
.pandi-chat__send:disabled { background:#aeb4bc; cursor:not-allowed; }
.pandi-chat__send svg { width:18px; height:18px; }
.pandi-chat__footer { font-size:10px; color:#818990; text-align:center; padding-top:7px; }
.pandi-chat__footer a { color:#505962; }
.pandi-chat__notice { margin-bottom:9px; font-size:11px; color:#94500c; background:#fff5e6; border-radius:8px; padding:8px 10px; }
.pandi-chat__contact { border-top:1px solid #edf0f2; padding:10px 14px; display:flex; justify-content:center; flex:0 0 auto; background:white; gap:10px; flex-wrap:wrap; }
.pandi-chat__contact a { font-size:11px; color:#535a60; font-weight:700; text-decoration:none; border:1px solid #dde2e8; border-radius:999px; padding:9px 12px; min-height:38px; display:inline-flex; align-items:center; justify-content:center; background:#fff; }
.pandi-chat__contact a[data-chat-cta="phone"] { background:#171a1e; color:#fff; border-color:#171a1e; }
.pandi-chat__contact a:hover { text-decoration:underline; }
@media(max-width:600px) { .pandi-chat { left:10px; right:10px; bottom:10px; }.pandi-chat__panel { position:fixed; inset:0; width:100vw; height:100dvh; min-height:0; margin:0; border:0; border-radius:0; padding-bottom:calc(env(safe-area-inset-bottom) + 6px); }.pandi-chat__header { padding:14px 14px 13px; position:sticky; top:0; z-index:2; }.pandi-chat__brand { font-size:16px; }.pandi-chat__sub { font-size:12px; }.pandi-chat__launch { width:100%; justify-content:center; padding:14px 16px; font-size:14px !important; min-height:54px; }.pandi-chat__stream { padding:15px 12px 12px; }.pandi-chat__hello h3 { font-size:20px; }.pandi-chat__compose { padding:10px 10px 12px; }.pandi-chat__form { gap:8px; }.pandi-chat__input { min-height:48px; font-size:16px !important; }.pandi-chat__send { height:48px; width:48px; flex-basis:48px; }.pandi-chat__contact { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:10px; }.pandi-chat__contact a { font-size:12px; padding:11px 10px; min-height:44px; }.pandi-chat__message { max-width:94%; } .pandi-chat__privacy { font-size:10.5px; } }
@media(prefers-reduced-motion:reduce) { .pandi-chat *, .pandi-chat *::before { animation:none !important; transition:none !important; } }

.pandi-chat__typing[hidden] { display:none !important; }

@media(max-width:820px) { .pandi-chat__panel { width:min(420px, calc(100vw - 20px)); height:min(76dvh, 700px); } }

/* Pandi chat v7: small, isolated launcher; mobile viewport and touch controls. */
.pandi-chat { left:auto; right:18px; bottom:18px; width:auto; }
.pandi-chat__launch,
.pandi-chat__launch:hover { width:62px; height:62px; min-width:62px; min-height:62px; padding:8px; border-radius:50%; display:grid; place-items:center; gap:0; margin:0 0 0 auto; background:#fff; color:#15181b; border:2px solid #1b2025; box-shadow:0 12px 28px rgba(0,0,0,.25); }
.pandi-chat__launch:hover { transform:translateY(-2px); box-shadow:0 14px 32px rgba(0,0,0,.29); }
.pandi-chat__launch img { display:block; width:44px; height:44px; max-width:100%; object-fit:contain; pointer-events:none; }
.pandi-chat__launch::after { content:""; position:absolute; right:2px; top:2px; width:10px; height:10px; background:#65cb8e; border:2px solid white; border-radius:50%; }
.pandi-chat__panel { min-height:0; padding:0; }
.pandi-chat__stream { min-height:0; }
.pandi-chat__icon-btn { min-width:38px; min-height:38px; }
.pandi-chat__send { min-width:45px; }
.pandi-chat__bubble .pandi-chat__auto-link { overflow-wrap:anywhere; text-underline-offset:2px; }
.pandi-chat__contact a { text-align:center; }
@media (max-width:600px) {
  .pandi-chat { left:auto; right:max(12px,env(safe-area-inset-right)); bottom:max(12px,env(safe-area-inset-bottom)); width:auto; }
  .pandi-chat__launch,
  .pandi-chat__launch:hover { width:58px; height:58px; min-width:58px; min-height:58px; padding:6px; }
  .pandi-chat__launch img { width:44px; height:44px; }
  .pandi-chat__panel { position:fixed; inset:0; display:flex; flex-direction:column; width:100vw; max-width:none; height:var(--pandi-chat-visual-height,100dvh); min-height:0; max-height:none; margin:0; border:0; border-radius:0; padding-bottom:env(safe-area-inset-bottom); box-shadow:none; }
  .pandi-chat__header { flex:0 0 auto; padding:max(12px,env(safe-area-inset-top)) 14px 12px; }
  .pandi-chat__stream { flex:1 1 auto; overflow-y:auto; min-height:0; padding:15px 13px 12px; -webkit-overflow-scrolling:touch; }
  .pandi-chat__suggestions { gap:9px; }
  .pandi-chat__suggestion { min-height:39px; padding:9px 12px; font-size:12px !important; }
  .pandi-chat__contact { flex:0 0 auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:9px; padding:10px 12px; }
  .pandi-chat__contact a { min-height:44px; font-size:12px; padding:10px 6px; }
  .pandi-chat__compose { flex:0 0 auto; padding:10px 12px 10px; }
  .pandi-chat__input { font-size:16px !important; min-height:46px; }
  .pandi-chat__send { min-width:46px; width:46px; height:46px; flex-basis:46px; }
  .pandi-chat__brand { font-size:16px; }
  .pandi-chat__hello h3 { font-size:20px; }
  .pandi-chat__message { max-width:95%; }
}
@media (max-width:370px) and (max-height:710px) {
  .pandi-chat__header { padding:10px 12px; }
  .pandi-chat__hello p { margin-bottom:11px; }
  .pandi-chat__suggestions { gap:6px; }
  .pandi-chat__suggestion { min-height:35px; padding:7px 9px; }
  .pandi-chat__footer { font-size:9px; }
}

/* v8: Stable mobile composition. No browser auto-zoom on input focus. */
@media (max-width:600px) {
  .pandi-chat__panel { animation:none; overscroll-behavior:contain; }
  .pandi-chat__input,
  .pandi-chat__input:focus,
  .pandi-chat textarea,
  .pandi-chat input {
    font-size:16px !important; /* iOS Safari avoids automatic input magnification */
  }
  .pandi-chat__stream { overflow-anchor:none; }
  .pandi-chat__input { touch-action:manipulation; }
  .pandi-chat__compose { position:relative; z-index:1; }
}

/* v9: Real Booqme conversion CTA. Isolated to chatbot. */
.pandi-chat__booking { margin:-6px 0 13px; max-width:94%; background:#fff; border:1px solid #e3e7eb; border-radius:12px; padding:9px; }
.pandi-chat__booking-action { display:block; text-decoration:none !important; text-align:center; background:#181d22; color:#fff !important; padding:11px 12px; border-radius:8px; font-weight:750; font-size:12px; min-height:42px; }
.pandi-chat__booking-action:hover { background:#394148; }
.pandi-chat__booking small { display:block; color:#666e78; font-size:10.5px; line-height:1.45; margin:8px 4px 2px; }
.pandi-chat__contact a[data-chat-cta="booking"] { background:#151a1e; color:white; border-color:#151a1e; }
.pandi-chat__contact a[data-chat-cta="phone"] { color:#20252a; background:white; border-color:#d8dce0; }
@media(max-width:600px) { .pandi-chat__booking { max-width:100%; }.pandi-chat__booking-action { min-height:44px; } }

/* v11: Short question prompt beside the existing round Pandi launcher. */
.pandi-chat__tip {
  position:absolute;
  bottom:6px;
  right:calc(100% + 10px);
  width:157px;
  min-height:56px;
  display:flex;
  align-items:center;
  background:#fff;
  color:#1b2025;
  border:1px solid #dce1e5;
  border-radius:14px;
  box-shadow:0 8px 27px rgba(0,0,0,.17);
  padding:7px 22px 7px 12px;
  white-space:normal;
}
.pandi-chat__tip[hidden] { display:none !important; }
.pandi-chat__tip::after {
  content:"";
  position:absolute;
  top:50%;
  right:-6px;
  width:10px;
  height:10px;
  background:#fff;
  border-top:1px solid #dce1e5;
  border-right:1px solid #dce1e5;
  transform:translateY(-50%) rotate(45deg);
}
.pandi-chat__tip-open,
.pandi-chat__tip-open:hover {
  width:100%;
  min-width:0;
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  display:flex;
  flex-direction:column;
  gap:1px;
  text-align:left;
  line-height:1.25;
  box-shadow:none;
}
.pandi-chat__tip-open strong { font-size:12px; font-weight:800; }
.pandi-chat__tip-open span { font-size:11px; color:#626a72; }
.pandi-chat__tip-close,
.pandi-chat__tip-close:hover {
  position:absolute;
  top:3px;
  right:3px;
  width:23px;
  height:23px;
  padding:0;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#6d747b;
  font-size:18px;
  line-height:1;
  box-shadow:none;
}
.pandi-chat__tip-close:hover { background:#edf0f2; color:#1b2025; }
@media (max-width:600px) {
  .pandi-chat__tip { bottom:3px; right:calc(100% + 9px); width:146px; min-height:54px; padding:7px 21px 7px 10px; }
}
@media (max-width:355px) {
  .pandi-chat__tip { width:134px; }
  .pandi-chat__tip-open strong { font-size:11.5px; }
  .pandi-chat__tip-open span { font-size:10.5px; }
}
