/* LieferCH chat assistant – self-contained, no external resources */
.lc-chat { --lc-coral: #ff4d6d; --lc-orange: #ff7a1a; --lc-amber: #ffb21e; --lc-green: var(--brand, #0b6e4f);
  position: fixed; right: max(16px, env(safe-area-inset-right, 0px)); bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  z-index: 10000; font-family: var(--font, system-ui, -apple-system, "Segoe UI", sans-serif); color: var(--ink, #0f172a); }
.lc-chat.lc-raise { bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }
.lc-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.lc-chat-fab { position: relative; width: 58px; height: 58px; border-radius: 50%; border: 3px solid #fff; cursor: pointer; display: grid; place-items: center; padding: 0;
  background: linear-gradient(135deg, var(--lc-amber) 0%, var(--lc-orange) 50%, var(--lc-coral) 100%);
  box-shadow: 0 10px 26px rgba(255, 77, 109, .38), 0 2px 6px rgba(15, 23, 42, .18); transition: transform .2s ease, box-shadow .2s ease; margin-left: auto; }
.lc-chat-fab img { width: 26px; height: auto; filter: drop-shadow(0 1px 1px rgba(0,0,0,.18)); background: #fff; border-radius: 50%; padding: 4px 6px; box-sizing: content-box; }
.lc-chat-fab-q { position: absolute; top: -4px; right: -4px; width: 20px; height: 20px; border-radius: 50%; background: var(--lc-green); color: #fff; font: 800 12px/20px system-ui, sans-serif; text-align: center; border: 2px solid #fff; }
.lc-chat-fab:hover { transform: translateY(-2px) scale(1.04); box-shadow: 0 14px 30px rgba(255, 77, 109, .45); }
.lc-chat-fab:focus-visible, .lc-chat button:focus-visible, .lc-chat select:focus-visible, .lc-chat input:focus-visible, .lc-chat-log:focus-visible, .lc-chat a:focus-visible { outline: 3px solid var(--lc-green); outline-offset: 2px; }
.lc-chat.is-open .lc-chat-fab-q { display: none; }
.lc-chat-panel { margin: 0; padding: 0; position: absolute; right: 0; bottom: 72px; width: min(370px, calc(100vw - 32px)); max-height: min(560px, calc(100vh - 120px)); display: flex; flex-direction: column;
  background: #fff; border-radius: 20px; overflow: hidden; box-shadow: 0 24px 60px rgba(15, 23, 42, .22), 0 2px 8px rgba(15, 23, 42, .08); border: 1px solid #f1e6e2; }
.lc-chat-panel[hidden] { display: none; }
.lc-chat-head { display: flex; align-items: center; gap: .5rem; padding: .7rem .75rem .7rem .9rem; color: #fff;
  background: linear-gradient(120deg, var(--lc-coral) 0%, var(--lc-orange) 55%, var(--lc-amber) 100%); }
.lc-chat-head img { background: #fff; border-radius: 50%; padding: 3px 5px; width: 20px; height: auto; box-sizing: content-box; }
.lc-chat-head h2 { line-height: 1.2; text-transform: none; flex: 1; margin: 0; font-size: 1rem; font-weight: 800; color: #fff; letter-spacing: .01em; }
.lc-chat-lang { font: 700 .8rem/1 inherit; font-family: inherit; border: 0; border-radius: 8px; padding: .35rem .3rem; background: rgba(255,255,255,.92); color: #7a2233; cursor: pointer; }
.lc-chat-x { width: 32px; height: 32px; border: 0; border-radius: 50%; background: rgba(255,255,255,.22); color: #fff; font-size: 1.4rem; line-height: 1; cursor: pointer; }
.lc-chat-x:hover { background: rgba(255,255,255,.35); }
.lc-chat-log { flex: 1; overflow-y: auto; padding: .9rem .8rem .4rem; background: linear-gradient(180deg, #fff8f3 0%, #fff 60%); display: flex; flex-direction: column; gap: .55rem; min-height: 140px; }
.lc-msg { display: flex; }
.lc-msg-user { justify-content: flex-end; }
.lc-bubble { max-width: 86%; padding: .6rem .8rem; border-radius: 14px; font-size: .9rem; line-height: 1.45; overflow-wrap: anywhere; }
.lc-msg-bot .lc-bubble { background: #fff; border: 1px solid #f3e3dc; border-bottom-left-radius: 4px; box-shadow: 0 2px 6px rgba(15,23,42,.04); }
.lc-msg-user .lc-bubble { background: var(--lc-green); color: #fff; border-bottom-right-radius: 4px; }
.lc-bubble a { color: #c2183a; font-weight: 700; text-decoration: underline; }
.lc-chat-chips { display: flex; flex-wrap: wrap; gap: .4rem; padding: .45rem .8rem .55rem; background: #fff; }
.lc-chip { border: 1.5px solid #ffc7a3; background: #fff6ef; color: #9a3412; font: 600 .8rem/1.2 inherit; font-family: inherit; padding: .4rem .65rem; border-radius: 999px; cursor: pointer; }
.lc-chip:hover { background: #ffe9d8; border-color: var(--lc-orange); }
.lc-chat-form { display: flex; gap: .4rem; padding: .55rem .7rem; border-top: 1px solid #f1f5f9; background: #fff; }
.lc-chat-form input { flex: 1; min-width: 0; font: inherit; font-size: 16px; padding: .55rem .75rem; border: 1.5px solid #e2e8f0; border-radius: 12px; color: inherit; background: #fff; }
.lc-chat-form input:focus { border-color: var(--lc-orange); outline: none; box-shadow: 0 0 0 3px rgba(255, 122, 26, .2); }
.lc-chat-send { width: 42px; border: 0; border-radius: 12px; background: linear-gradient(135deg, var(--lc-orange), var(--lc-coral)); color: #fff; font-size: 1rem; cursor: pointer; }
.lc-chat-foot { margin: 0; padding: .35rem .8rem .55rem; font-size: .7rem; color: #64748b; text-align: center; background: #fff; }
@media (max-width: 520px) {
  .lc-chat { right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); }
  .lc-chat.lc-raise { bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
  .lc-chat-fab { width: 52px; height: 52px; }
  .lc-chat.is-open { left: 0; right: 0; bottom: 0; }
  .lc-chat.is-open .lc-chat-fab { display: none; }
  .lc-chat-panel { position: fixed; left: 0; right: 0; bottom: 0; width: 100%; max-height: 85vh; height: 85vh; border-radius: 20px 20px 0 0; padding: 0 0 env(safe-area-inset-bottom, 0px) 0; padding-bottom: env(safe-area-inset-bottom, 0px); }
}
@media (prefers-reduced-motion: reduce) { .lc-chat-fab { transition: none; } }
@media print { .lc-chat { display: none !important; } }
