.sfcc-ask { position: fixed; right: 20px; bottom: 20px; z-index: 99990; font-family: system-ui, sans-serif; }
@supports (padding: env(safe-area-inset-bottom)) {
  .sfcc-ask { right: calc(20px + env(safe-area-inset-right)); bottom: calc(20px + env(safe-area-inset-bottom)); }
}
.sfcc-ask-fab {
  pointer-events: auto; border: 0; cursor: pointer;
  background: #1c1915; color: #f4f1ea; font: 600 14px/1 system-ui, sans-serif;
  padding: 14px 18px; border-radius: 999px; box-shadow: 0 8px 24px rgba(28,25,21,.25);
}
.sfcc-ask-fab:hover, .sfcc-ask-fab:focus-visible { background: #3a342c; }
.sfcc-ask-panel {
  pointer-events: auto; position: absolute; right: 0; bottom: 56px;
  width: min(380px, calc(100vw - 32px)); height: min(480px, 70vh);
  background: #fff; color: #1c1915; border: 1px solid #e6dfd2; border-radius: 12px;
  box-shadow: 0 16px 48px rgba(28,25,21,.2); display: flex; flex-direction: column;
  overflow: hidden;
}
.sfcc-ask-panel[hidden] { display: none; }
.sfcc-ask-head {
  display: flex; justify-content: space-between; align-items: center;
  padding: 12px 14px; border-bottom: 1px solid #e6dfd2; background: #f4f1ea;
}
.sfcc-ask-close { border: 0; background: transparent; cursor: pointer; color: #6b6358; font: 13px/1 system-ui; }
.sfcc-ask-log { flex: 1; overflow: auto; padding: 12px; background: #faf8f4; }
.sfcc-ask-b { display: flex; margin: 0 0 10px; }
.sfcc-ask-b--user { justify-content: flex-end; }
.sfcc-ask-b div {
  max-width: 85%; padding: 9px 12px; border-radius: 12px; font-size: 14px; line-height: 1.45;
}
.sfcc-ask-b--user div { background: #1c1915; color: #f4f1ea; border-bottom-right-radius: 3px; }
.sfcc-ask-b--assistant div { background: #fff; border: 1px solid #e6dfd2; border-bottom-left-radius: 3px; }
.sfcc-ask-b a { color: #6b4f2a; }
.sfcc-ask-form { display: flex; gap: 8px; padding: 10px; border-top: 1px solid #e6dfd2; }
.sfcc-ask-form input {
  flex: 1; border: 1px solid #e6dfd2; border-radius: 8px; padding: 10px 12px; font: 14px/1.3 system-ui;
}
.sfcc-ask-form button {
  border: 0; background: #1c1915; color: #f4f1ea; border-radius: 8px; padding: 0 14px; cursor: pointer; font-weight: 600;
}
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
@media (max-width: 600px) {
  .sfcc-ask-panel { height: min(70vh, 520px); }
}
