/* Ask Walt: the floating button and the chat panel (loaded after styles.css). Clean Blue button, white panel. */
.walt{display:inline-flex;align-items:center;gap:10px;background:var(--blue);padding:0 20px 0 8px;right:16px}
.walt:hover{background:var(--blue-dark)}
.walt[hidden],.walt-line[hidden]{display:none}
.walt-ico{flex:none}
.walt .dw{width:42px;height:42px;flex:none;background:#fff;border-radius:50%}
.wp-head .dw{width:44px;height:44px;flex:none;background:#fff;border-radius:50%}
.wp-head>div{display:flex;align-items:center;gap:10px}
.btn-walt{gap:10px;padding-left:10px}.btn-walt .dw{width:30px;height:30px;flex:none;background:#fff;border-radius:50%;box-shadow:0 0 0 1.5px var(--blue)}
.dw-body,.dw-eyes,.dw-dash,.dw-ring,.dw-bob{transform-box:view-box}
.dw-body{transform-origin:120px 194px}.dw-eyes{transform-origin:120px 142px}.dw-dash{transform-origin:120px 120px}.dw-bob{transform-origin:120px 120px}
@media (prefers-reduced-motion:no-preference){
  .dw-body{animation:dw-squish 2.6s linear infinite}
  .dw-eyes{animation:dw-blink 4s linear infinite}
  .dw-dash{animation:dw-spin 14s linear infinite}
  .dw-ring{animation:dw-breathe 3.2s ease-in-out infinite}
  .dw-bob{animation:dw-bob 2.5s ease-in-out infinite}
  :is(.btn-walt,.walt):is(:hover,:focus-visible) .dw-bob{animation:dw-wiggle .7s ease-in-out}
  @keyframes dw-squish{0%,100%{transform:none}45%{transform:scale(1.07,.92)}70%{transform:scale(.97,1.03)}}
  @keyframes dw-blink{0%,90%,100%{transform:none}94%{transform:scaleY(.1)}}
  @keyframes dw-spin{to{transform:rotate(360deg)}}
  @keyframes dw-breathe{0%,100%{opacity:.45}50%{opacity:1}}
  @keyframes dw-bob{0%,100%{transform:none}50%{transform:translateY(-16px)}}
  @keyframes dw-wiggle{0%,100%{transform:none}20%{transform:rotate(-9deg)}45%{transform:rotate(8deg)}70%{transform:rotate(-5deg)}}
}.walt-long{display:none}
.walt-link{all:unset;color:var(--blue);font-weight:800;text-decoration:underline;cursor:pointer}
.walt-link:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.wc-lock{overflow:hidden}

.wp{position:fixed;z-index:40;left:0;right:0;bottom:0;height:min(86vh,640px);display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px 18px 0 0;box-shadow:0 -10px 40px rgba(15,42,67,.28);font-size:1rem;line-height:1.5}
.wp[hidden]{display:none}
.wp-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--navy);color:#fff;border-radius:18px 18px 0 0}
.wp-head h2{margin:0;font-size:1.1rem;line-height:1.2;color:#fff}.wp-head small{display:block;font-weight:500;font-size:.82rem;opacity:.85}
.wp-close{all:unset;box-sizing:border-box;width:44px;height:44px;display:grid;place-items:center;font-size:1.8rem;line-height:1;color:#fff;cursor:pointer;border-radius:10px}
.wp-close:hover{background:rgba(255,255,255,.14)}.wp-close:focus-visible{outline:3px solid #fff;outline-offset:-3px}
.wp-emergency{margin:0;padding:10px 16px;background:var(--amber);color:var(--navy);font-size:.95rem;line-height:1.4}
.wp-emergency a{color:var(--navy);font-weight:800;white-space:nowrap}
.wp-log{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.wp-msg{max-width:88%;padding:10px 14px;border-radius:14px;overflow-wrap:anywhere}
.wp-msg p{margin:0}
.wp-walt{align-self:flex-start;background:var(--mist);color:var(--navy);border-bottom-left-radius:4px}
.wp-you{align-self:flex-end;background:var(--blue);color:#fff;border-bottom-right-radius:4px}
.wp-thinking{color:var(--muted)}
.wp-actions{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px}
.wp-actions:empty{display:none}
.wp-actions .btn{min-height:44px;padding:0 16px;font-size:.98rem}
.wp-form{display:flex;gap:8px;padding:10px 16px 6px;position:relative}
.wp-input{flex:1;min-width:0;min-height:48px;padding:0 14px;border:2px solid var(--line);border-radius:12px;font:inherit;color:var(--navy);background:#fff}
.wp-input:focus{border-color:var(--blue);outline:none}.wp-input:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
.wp-send{min-height:48px;padding:0 18px;border:0;border-radius:12px;background:var(--blue);color:#fff;font:inherit;font-weight:800;cursor:pointer}
.wp-send:hover{background:var(--blue-dark)}.wp-send:disabled,.wp-input:disabled{opacity:.55;cursor:not-allowed}
.wp-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.wp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wp-bot{padding:0 16px}.wp-bot:empty{display:none}
.wp-note{margin:0;padding:4px 16px calc(10px + env(safe-area-inset-bottom));font-size:.8rem;line-height:1.35;color:var(--muted)}
.wp-credit{margin:0;padding:0 16px calc(10px + env(safe-area-inset-bottom));font-size:11px;line-height:1.4;color:var(--muted)}.wp-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}.wp-note:has(+ .wp-credit){padding-bottom:2px}

@media (min-width:720px){
  .walt-long{display:inline}
  .wp{left:auto;right:24px;bottom:24px;width:390px;height:min(620px,calc(100vh - 48px));border-radius:18px}
  .wp-head{border-radius:17px 17px 0 0}
  .wp-note{padding-bottom:12px}
  .wp-credit{padding-bottom:12px}
}
@media (prefers-reduced-motion:no-preference){.wp:not([hidden]){animation:wp-in .18s ease-out}@keyframes wp-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}
.walt[aria-expanded="true"]{display:none}

/* Booking cards in the chat */
.wp-card{align-self:stretch;border:1.5px solid var(--line);border-radius:14px;padding:12px 14px;background:#fff}
.wp-card h3{margin:0 0 6px;font-size:1.02rem;line-height:1.3;color:var(--navy)}
.wp-small{margin:0 0 10px;font-size:.85rem;line-height:1.4;color:var(--muted)}
.wp-field{margin:0 0 8px}.wp-field label{display:block;font-size:.82rem;font-weight:700;color:var(--muted);margin:0 0 3px}
.wp-field .wp-input{width:100%}
.wp-req{color:#c62828;font-weight:800}
.wp-input.bad,.wp-input.bad:focus{border-color:#c62828;box-shadow:0 0 0 3px rgba(198,40,40,.18)}
.wp-err{margin:0 0 8px;color:#9A3412;font-weight:700;font-size:.9rem}.wp-err:empty{display:none}
.wp-times{display:grid;gap:8px;margin:0 0 6px}
.wp-card .btn{min-height:46px;padding:0 16px;font-size:.98rem;width:100%}
.wp-btns{display:grid;gap:8px}
.wp-link{all:unset;color:var(--blue);font-weight:700;text-decoration:underline;cursor:pointer;font-size:.9rem;display:inline-block;padding:10px 0}
.wp-link:focus-visible{outline:3px solid var(--navy);outline-offset:2px}.wp-link[disabled]{opacity:.5}
.wp-sum{margin:0 0 10px;font-size:.92rem}.wp-sum dt{font-size:.72rem;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--muted);margin-top:6px}.wp-sum dd{margin:0;overflow-wrap:anywhere}

/* Talk or type */
.wp-mic{flex:none;width:48px;min-height:48px;border-radius:12px;border:2px solid var(--blue);background:#fff;color:var(--blue);display:grid;place-items:center;cursor:pointer;padding:0}
.wp-mic:hover{background:var(--mist)}.wp-mic[hidden]{display:none}
.wp-mic.on{background:var(--blue);color:#fff;animation:wp-pulse 1.2s ease-in-out infinite}
.wp-mic:focus-visible,.wp-tog:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
.wp-voice{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 16px 4px}.wp-voice[hidden]{display:none}
.wp-tog{min-height:36px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--navy);font:inherit;font-weight:700;font-size:.85rem;cursor:pointer}
.wp-tog[hidden]{display:none}
.wp-tog[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
.wp-vstatus{flex:1;min-width:0;font-size:.8rem;color:var(--muted)}
@media (prefers-reduced-motion:no-preference){@keyframes wp-pulse{0%,100%{box-shadow:0 0 0 0 rgba(23,101,194,.45)}50%{box-shadow:0 0 0 8px rgba(23,101,194,0)}}}
