:root{
  --hm-chat-ink:#2b2e35;
  --hm-chat-muted:#63716c;
  --hm-chat-canvas:#f5f8fb;
  --hm-chat-surface:#fff;
  --hm-chat-line:#e1e5ea;
  --hm-chat-apple:#cbfa4d;
  --hm-chat-apple-soft:#e2fe96;
  --hm-chat-danger:#8d3029;
  --hm-chat-danger-bg:#fff2f0;
  --hm-chat-focus:#66756f;
  --hm-chat-shadow:0 28px 80px -34px rgba(43,46,53,.55);
}

.public-chat-launcher{
  position:fixed;right:22px;bottom:22px;z-index:440;display:grid;width:56px;height:56px;
  min-width:56px;min-height:56px;place-items:center;padding:0;border:1px solid rgba(43,46,53,.12);
  border-radius:50%;background:var(--hm-chat-apple);color:var(--hm-chat-ink);
  box-shadow:0 18px 46px -18px rgba(43,46,53,.7);cursor:pointer;isolation:isolate;
  touch-action:manipulation;transition:transform 190ms ease,box-shadow 190ms ease,background 190ms ease;
  animation:public-chat-invite 3.8s ease-in-out 3;
}
.public-chat-launcher.was-opened{animation:none}
.public-chat-launcher:hover{transform:translateY(-3px);background:var(--hm-chat-apple-soft);box-shadow:0 24px 54px -20px rgba(43,46,53,.78)}
.public-chat-launcher:focus-visible{outline:3px solid var(--hm-chat-ink);outline-offset:4px}
.public-chat-launcher::after{
  position:absolute;right:calc(100% + 10px);top:50%;padding:8px 11px;border-radius:10px;
  background:var(--hm-chat-ink);color:#fff;content:attr(data-tooltip);font:500 .74rem/1 'Onest',sans-serif;
  white-space:nowrap;opacity:0;pointer-events:none;transform:translate(5px,-50%);
  transition:opacity 160ms ease,transform 160ms ease;
}
.public-chat-launcher:hover::after,.public-chat-launcher:focus-visible::after{opacity:1;transform:translate(0,-50%)}
.public-chat-launcher>*{pointer-events:none}
.public-chat-launcher-icon,.public-chat-brand-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%}
.public-chat-launcher-icon{background:rgba(43,46,53,.08)}
.public-chat-launcher .icon{width:20px;height:20px}

.public-chat-backdrop{position:fixed;inset:0;z-index:445;background:rgba(43,46,53,.3);opacity:0;backdrop-filter:blur(2px);transition:opacity 190ms ease}
.public-chat-backdrop.is-open{opacity:1}
.public-chat-panel{
  position:fixed;z-index:450;right:22px;bottom:22px;width:min(438px,calc(100vw - 36px));
  height:min(730px,calc(100vh - 44px));display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto;
  border:1px solid rgba(255,255,255,.8);border-radius:28px;background:var(--hm-chat-canvas);
  color:var(--hm-chat-ink);box-shadow:var(--hm-chat-shadow);overflow:hidden;opacity:0;
  transform:translateY(18px) scale(.98);transform-origin:right bottom;
  transition:opacity 200ms ease,transform 220ms cubic-bezier(.22,.75,.25,1);
  font-family:'Onest',sans-serif;
}
.public-chat-panel.is-open{opacity:1;transform:none}
[data-public-chat-panel][hidden],[data-public-chat-backdrop][hidden],.public-chat-panel [hidden]{display:none!important}

.public-chat-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 16px 16px 18px;background:var(--hm-chat-ink);color:#fff}
.public-chat-head-actions{display:flex;align-items:center;gap:7px}
.public-chat-head-action{min-height:36px;padding:0 11px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font:500 .72rem/1 'Onest',sans-serif;cursor:pointer}
.public-chat-head-action:hover{background:rgba(255,255,255,.15)}
.public-chat-brand{display:flex;align-items:center;gap:12px;min-width:0}
.public-chat-brand-icon{display:grid!important;place-items:center!important;width:39px;height:39px;flex:0 0 auto;padding:0!important;line-height:0;background:var(--hm-chat-apple);color:var(--hm-chat-ink)}
.public-chat-brand-icon>.icon{position:static!important;inset:auto!important;display:block!important;width:19px;height:19px;margin:0!important;align-self:center;justify-self:center;transform:none!important}
.public-chat-brand h2{margin:0 0 3px;color:#fff;font:500 1.05rem/1.15 'Geometria',sans-serif;letter-spacing:-.02em}
.public-chat-brand p{margin:0;color:#c7ced4;font-size:.75rem;line-height:1.35}
.public-chat-close{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;transition:background 180ms ease,transform 180ms ease}
.public-chat-close:hover{background:rgba(255,255,255,.16);transform:rotate(4deg)}
.public-chat-close:focus-visible,.public-chat-head-action:focus-visible{outline:2px solid var(--hm-chat-apple);outline-offset:2px}

.public-chat-connectivity{position:absolute;z-index:3;top:78px;left:14px;right:14px;padding:10px 12px;border:1px solid #dbc67d;border-radius:12px;background:#fff8dc;color:#5d4b19;box-shadow:0 14px 30px -24px rgba(43,46,53,.6);font-size:.75rem;font-weight:600;text-align:center}
.public-chat-body{min-height:0;overflow:hidden}
.public-chat-state{height:100%;display:grid;place-content:center;justify-items:center;gap:12px;padding:30px;text-align:center}
.public-chat-state p{margin:0;color:var(--hm-chat-muted);font-size:.86rem}
.public-chat-spinner{width:28px;height:28px;border:3px solid var(--hm-chat-line);border-top-color:var(--hm-chat-ink);border-radius:50%;animation:public-chat-spin .8s linear infinite}

.public-chat-profile{height:100%;overflow:auto;display:grid;align-content:start;gap:16px;padding:26px 24px}
.public-chat-intro{padding-bottom:3px}
.public-chat-intro .badge{display:inline-flex;border:1px solid var(--hm-chat-line);border-radius:999px;background:#fff;padding:6px 10px;color:var(--hm-chat-muted);font-size:.7rem;font-weight:500}
.public-chat-intro h3{margin:15px 0 8px;color:var(--hm-chat-ink);font:500 1.38rem/1.15 'Geometria',sans-serif;letter-spacing:-.02em}
.public-chat-intro p{margin:0;color:var(--hm-chat-muted);font-size:.88rem;line-height:1.55}
.public-chat-panel .field{display:grid;gap:7px}
.public-chat-panel .field label{color:var(--hm-chat-ink);font-size:.78rem;font-weight:500}
.public-chat-panel .input,.public-chat-panel .select,.public-chat-panel .textarea{
  width:100%;border:1px solid var(--hm-chat-line);border-radius:14px;background:#fff;color:var(--hm-chat-ink);
  font:400 .86rem/1.45 'Onest',sans-serif;box-shadow:none;transition:border-color 170ms ease,box-shadow 170ms ease;
}
.public-chat-panel .input,.public-chat-panel .select{min-height:44px;padding:10px 12px}
.public-chat-panel .textarea{min-height:98px;padding:11px 12px;resize:vertical}
.public-chat-panel .input:focus,.public-chat-panel .select:focus,.public-chat-panel .textarea:focus{outline:none;border-color:var(--hm-chat-focus);box-shadow:0 0 0 4px rgba(99,113,108,.12)}
.public-chat-remember{display:flex;align-items:center;gap:9px;color:var(--hm-chat-ink);font-size:.82rem;cursor:pointer}
.public-chat-remember input{width:17px;height:17px;accent-color:var(--hm-chat-ink)}
.public-chat-profile .field-help{margin:0;color:var(--hm-chat-muted);font-size:.73rem;line-height:1.45}

.public-chat-conversation{height:100%;display:flex;flex-direction:column;min-height:0;overflow:auto}
.public-chat-messages{display:flex;flex:1 1 auto;flex-direction:column;gap:14px;padding:20px 18px 13px;overflow:auto;scroll-behavior:smooth;scrollbar-color:#9aa6a1 transparent;scrollbar-width:thin}
.public-chat-message{display:flex;flex-direction:column;align-items:flex-start;gap:7px;max-width:88%;animation:public-chat-enter 180ms ease}
.public-chat-message.is-user{align-self:flex-end;align-items:flex-end}
.public-chat-bubble{padding:12px 14px;border:1px solid var(--hm-chat-line);border-radius:18px 18px 18px 6px;background:#fff;color:var(--hm-chat-ink);box-shadow:0 14px 28px -25px rgba(43,46,53,.65);font-size:.86rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.public-chat-bubble strong{font-weight:650}
.public-chat-message.is-user .public-chat-bubble{border-color:var(--hm-chat-ink);border-radius:18px 18px 6px 18px;background:var(--hm-chat-ink);color:#fff;box-shadow:0 16px 30px -22px rgba(43,46,53,.85)}
.public-chat-message.is-error .public-chat-bubble{border-color:#e7bbb7;background:var(--hm-chat-danger-bg);color:var(--hm-chat-danger)}
.public-chat-message-meta{color:var(--hm-chat-muted);font-size:.66rem}
.public-chat-clarification{margin:9px 0 0;padding:10px 11px;border-left:3px solid var(--hm-chat-apple);border-radius:0 12px 12px 0;background:#f3f9e4;color:var(--hm-chat-ink);font-size:.78rem;line-height:1.45}
.public-chat-follow-ups{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.public-chat-panel .chip{min-height:34px;padding:8px 11px;border:1px solid var(--hm-chat-line);border-radius:999px;background:#fff;color:var(--hm-chat-ink);font:500 .72rem/1.25 'Onest',sans-serif;text-align:left;cursor:pointer;transition:background 170ms ease,border-color 170ms ease,transform 170ms ease}
.public-chat-panel .chip:hover{border-color:#b8c1c6;background:#f9fafb;transform:translateY(-1px)}
.public-chat-panel .chip:focus-visible{outline:2px solid var(--hm-chat-focus);outline-offset:2px}
.public-chat-retry{min-height:34px;padding:0 12px;border:1px solid #e2b5b0;border-radius:999px;background:#fff;color:var(--hm-chat-danger);font-size:.74rem;font-weight:600;cursor:pointer}
.public-chat-retry[disabled]{opacity:.55;cursor:wait}
.public-chat-typing{display:flex;align-items:center;gap:5px;min-width:56px}
.public-chat-typing i{width:6px;height:6px;border-radius:50%;background:var(--hm-chat-muted);animation:public-chat-dot 1s infinite ease-in-out}
.public-chat-typing i:nth-child(2){animation-delay:.14s}.public-chat-typing i:nth-child(3){animation-delay:.28s}
.public-chat-starters{display:flex;flex-wrap:wrap;gap:7px;padding:0 18px 15px}
.public-chat-starters .chip{background:#fff}

.public-chat-inquiry{margin:2px 18px 16px;padding:17px;border:1px solid var(--hm-chat-line);border-radius:20px;background:#fff;box-shadow:0 22px 46px -40px rgba(43,46,53,.75);display:grid;gap:14px}
.public-chat-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.public-chat-inquiry-head{display:flex;gap:11px;align-items:flex-start}
.public-chat-inquiry-head strong{color:var(--hm-chat-ink);font:500 .94rem/1.25 'Geometria',sans-serif}
.public-chat-inquiry-head p{margin:4px 0 0;color:var(--hm-chat-muted);font-size:.75rem;line-height:1.45}
.public-chat-mini-icon{display:grid;place-items:center;width:36px;height:36px;flex:0 0 auto;border-radius:12px;background:var(--hm-chat-apple);color:var(--hm-chat-ink)}
.public-chat-inquiry .textarea{min-height:102px;max-height:180px}
.public-chat-form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.public-chat-form-error{margin:0;padding:10px 11px;border-radius:12px;background:var(--hm-chat-danger-bg);color:var(--hm-chat-danger);font-size:.76rem}
.public-chat-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.public-chat-panel .btn{min-height:40px;border-radius:999px;padding:0 15px;font:500 .76rem/1 'Onest',sans-serif;cursor:pointer;transition:transform 170ms ease,background 170ms ease,border-color 170ms ease}
.public-chat-panel .btn:hover{transform:translateY(-1px)}
.public-chat-panel .btn:focus-visible{outline:2px solid var(--hm-chat-focus);outline-offset:2px}
.public-chat-panel .btn-primary{border:1px solid var(--hm-chat-apple);background:var(--hm-chat-apple);color:var(--hm-chat-ink)}
.public-chat-panel .btn-secondary{border:1px solid var(--hm-chat-line);background:#fff;color:var(--hm-chat-ink)}
.public-chat-panel .btn-ghost{border:1px solid transparent;background:transparent;color:var(--hm-chat-muted)}

.public-chat-success{margin:auto 18px 18px;padding:24px;border:1px solid var(--hm-chat-line);border-radius:22px;background:#fff;text-align:center;box-shadow:0 22px 46px -40px rgba(43,46,53,.75)}
.public-chat-success-icon{width:48px;height:48px;margin:0 auto 13px;display:grid;place-items:center;border-radius:50%;background:var(--hm-chat-apple);color:var(--hm-chat-ink)}
.public-chat-success h3{margin:0 0 7px;color:var(--hm-chat-ink);font:500 1.25rem/1.2 'Geometria',sans-serif}.public-chat-success p{color:var(--hm-chat-muted);font-size:.82rem}
.public-chat-rating{margin:16px 0}.public-chat-rating-controls{display:grid;justify-items:center;gap:8px}
.public-chat-rating-controls>span,.public-chat-rating>span{color:var(--hm-chat-muted);font-size:.76rem}
.public-chat-rating-controls label{color:var(--hm-chat-muted);font-size:.7rem}
.public-chat-rating-controls textarea{width:100%;min-height:60px;padding:10px;border:1px solid var(--hm-chat-line);border-radius:12px;resize:vertical;color:var(--hm-chat-ink);font:400 .76rem/1.4 'Onest',sans-serif}
.public-chat-rating-controls textarea:focus{outline:none;border-color:var(--hm-chat-focus);box-shadow:0 0 0 4px rgba(99,113,108,.12)}
.public-chat-rating-controls>div{display:flex;justify-content:center;gap:7px}.public-chat-rating.is-recorded .public-chat-rating-controls{display:none}

.public-chat-answer-feedback{display:grid;gap:9px;padding:12px 14px;border-top:1px solid var(--hm-chat-line);background:#fff}
.public-chat-answer-feedback>span:first-child{color:var(--hm-chat-ink);font-size:.78rem;font-weight:500}
.public-chat-answer-feedback-actions{display:flex;flex-wrap:wrap;gap:7px}
.public-chat-answer-feedback-actions .btn{min-height:34px;font-size:.71rem}
.public-chat-answer-feedback-status{color:#526522;font-size:.76rem;font-weight:600}
.public-chat-composer{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:end;gap:9px;padding:12px 14px;border-top:1px solid var(--hm-chat-line);background:#fff}
.public-chat-composer textarea{width:100%;min-height:44px;max-height:108px;padding:11px 13px;border:1px solid var(--hm-chat-line);border-radius:16px;background:var(--hm-chat-canvas);outline:none;resize:none;color:var(--hm-chat-ink);font:400 .86rem/1.35 'Onest',sans-serif}
.public-chat-composer textarea:focus{border-color:var(--hm-chat-focus);background:#fff;box-shadow:0 0 0 4px rgba(99,113,108,.12)}
.public-chat-composer button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--hm-chat-ink);border-radius:50%;background:var(--hm-chat-ink);color:#fff;cursor:pointer;transition:transform 170ms ease,background 170ms ease}
.public-chat-composer button:hover{transform:translateY(-1px);background:#3a3e46}.public-chat-composer button[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.public-chat-foot{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px 10px;padding:8px 14px 9px;background:#fff;color:var(--hm-chat-muted);font-size:.64rem;text-align:center}
.public-chat-foot-actions{display:inline-flex;align-items:center;gap:9px}
.public-chat-foot button{border:0;background:transparent;color:var(--hm-chat-ink);font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
body.public-chat-open{overflow:hidden}

@keyframes public-chat-spin{to{transform:rotate(360deg)}}
@keyframes public-chat-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes public-chat-dot{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@keyframes public-chat-invite{0%,78%,100%{transform:translateY(0)}84%{transform:translateY(-4px)}90%{transform:translateY(0)}94%{transform:translateY(-2px)}}

@media(max-width:640px){
  .public-chat-launcher{right:14px;bottom:14px}
  .public-chat-launcher::after{display:none}
  .public-chat-panel{inset:0;width:100%;height:100%;max-height:none;border:0;border-radius:0;transform:translateY(16px)}
  .public-chat-head{padding-top:max(16px,env(safe-area-inset-top))}
  .public-chat-brand p{max-width:210px}
  .public-chat-profile{padding:23px 18px}
  .public-chat-messages,.public-chat-starters{padding-inline:14px}
  .public-chat-inquiry,.public-chat-success{margin-inline:14px}
  .public-chat-answer-feedback{padding-inline:14px}
  .public-chat-contact-grid{grid-template-columns:1fr}
  .public-chat-composer{padding-bottom:max(12px,env(safe-area-inset-bottom))}
}
@media(max-width:390px){
  .public-chat-brand p{display:none}
  .public-chat-head{gap:8px;padding-inline:13px}
  .public-chat-message{max-width:93%}
  .public-chat-answer-feedback-actions{display:grid;grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .public-chat-launcher,.public-chat-backdrop,.public-chat-panel,.public-chat-message,.public-chat-panel .btn,.public-chat-panel .chip{transition:none!important;animation:none!important}
  .public-chat-spinner,.public-chat-typing i{animation:none!important}
  .public-chat-messages{scroll-behavior:auto}
}
