/* 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:8px;background:var(--blue);padding:0 18px;right:16px}
.walt:hover{background:var(--blue-dark)}
.walt[hidden],.walt-line[hidden]{display:none}
.walt-ico{flex:none}.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)}

@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}
}
@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)}}}
