/* House of Solution — "Plan your visit" assistant widget */
:root{
  --asst-navy:#171B33; --asst-navy2:#1F2546; --asst-gold:#E0A82E;
  --asst-wine:#6E1B30; --asst-orange:#EF8A1E; --asst-cream:#F7F3EA;
}

/* launcher */
.asst-launch{position:fixed;right:22px;bottom:22px;z-index:80;display:inline-flex;align-items:center;gap:10px;
  background:linear-gradient(180deg,#20264a,#161a30);color:var(--asst-cream);border:1px solid rgba(224,168,46,.5);
  border-radius:100px;padding:13px 20px 13px 16px;font-family:"Hanken Grotesk",system-ui,sans-serif;font-weight:700;font-size:15px;
  cursor:pointer;box-shadow:0 16px 40px -14px rgba(0,0,0,.6),0 0 0 6px rgba(224,168,46,.06);
  transition:transform .25s cubic-bezier(.22,.61,.36,1),box-shadow .25s}
.asst-launch:hover{transform:translateY(-2px);box-shadow:0 22px 50px -16px rgba(0,0,0,.7),0 0 0 6px rgba(224,168,46,.1)}
.asst-launch svg{width:22px;height:22px;color:var(--asst-gold)}
.asst-launch.hidden{opacity:0;pointer-events:none;transform:translateY(8px) scale(.96)}

/* panel */
.asst-panel{position:fixed;right:22px;bottom:22px;z-index:81;width:390px;max-width:calc(100vw - 32px);height:600px;max-height:calc(100vh - 40px);
  display:flex;flex-direction:column;background:linear-gradient(180deg,#1b2040,#13162b);border:1px solid rgba(224,168,46,.22);
  border-radius:22px;overflow:hidden;box-shadow:0 40px 90px -30px rgba(0,0,0,.75);
  font-family:"Hanken Grotesk",system-ui,sans-serif;color:var(--asst-cream);
  transform-origin:bottom right;animation:asstIn .28s cubic-bezier(.22,.61,.36,1)}
@keyframes asstIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.asst-panel[hidden]{display:none}

.asst-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;
  background:linear-gradient(180deg,rgba(224,168,46,.10),transparent);border-bottom:1px solid rgba(224,168,46,.18)}
.asst-id{display:flex;align-items:center;gap:11px}
.asst-dot{width:10px;height:10px;border-radius:50%;background:#33D17A;box-shadow:0 0 12px 2px rgba(51,209,122,.7);flex:none}
.asst-id b{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:16px;display:block;line-height:1.1}
.asst-id small{font-size:11px;color:var(--asst-gold);letter-spacing:.02em}
.asst-close{background:none;border:0;color:#b9b4c6;font-size:18px;cursor:pointer;padding:4px;line-height:1;border-radius:8px}
.asst-close:hover{color:#fff}

.asst-msgs{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth}
.asst-msg{max-width:84%;padding:11px 14px;font-size:14.5px;line-height:1.5;border-radius:15px;white-space:pre-wrap}
.asst-msg.bot{align-self:flex-start;background:#262c50;color:#ece9f2;border-bottom-left-radius:5px}
.asst-msg.user{align-self:flex-end;background:linear-gradient(180deg,var(--asst-gold),var(--asst-gold));color:#231a02;font-weight:600;border-bottom-right-radius:5px}
.asst-msg a{color:var(--asst-gold);font-weight:700}
.asst-msg.user a{color:#231a02}
.asst-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 15px;background:#262c50;border-radius:15px}
.asst-typing i{width:7px;height:7px;border-radius:50%;background:#8d92ab;animation:asstBlink 1.2s infinite}
.asst-typing i:nth-child(2){animation-delay:.2s}.asst-typing i:nth-child(3){animation-delay:.4s}
@keyframes asstBlink{0%,60%,100%{opacity:.3}30%{opacity:1}}

.asst-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 12px}
.asst-chip{background:rgba(224,168,46,.10);border:1px solid rgba(224,168,46,.35);color:var(--asst-cream);
  font-size:12.5px;font-weight:600;padding:8px 12px;border-radius:100px;cursor:pointer;font-family:inherit;transition:.2s}
.asst-chip:hover{background:var(--asst-gold);color:var(--asst-navy);border-color:var(--asst-gold)}

.asst-input{display:flex;gap:8px;padding:12px 14px;border-top:1px solid rgba(224,168,46,.16);background:rgba(8,10,22,.35)}
.asst-input input{flex:1;background:#11142a;border:1px solid rgba(247,243,234,.14);border-radius:100px;
  padding:12px 16px;color:var(--asst-cream);font-family:inherit;font-size:14.5px;outline:none}
.asst-input input:focus{border-color:rgba(224,168,46,.5)}
.asst-input button{flex:none;width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;
  background:linear-gradient(180deg,var(--asst-orange),#d9760f);color:#231202;font-size:16px;font-weight:800;
  display:flex;align-items:center;justify-content:center;transition:transform .2s}
.asst-input button:hover{transform:scale(1.06)}
.asst-foot{padding:9px 18px 13px;font-size:10.5px;color:#8388a1;text-align:center;line-height:1.4;background:rgba(8,10,22,.35)}

@media (max-width:560px){
  .asst-panel{right:8px;left:8px;bottom:8px;width:auto;height:calc(100vh - 16px);max-height:none;border-radius:18px}
  .asst-launch{right:14px;bottom:14px}
}
