/* KlimaMarkt – Amica (Chat-Assistent). Nutzt die Theme-Tokens, Rückfallwerte für Seiten ohne Theme-CSS. */
.kma-launch,.kma-panel{--k-ink:var(--ink,#0A2140);--k-blue:var(--blue,#0078C8);--k-sky:var(--sky,#00A8F8);--k-warm:var(--warm,#F07A1E);--k-stage:var(--stage,#03182B);--k-line:var(--line,#DDE1E6);--k-bg2:var(--bg-2,#F4F5F6);--k-mute:var(--mute,#6B7483);--k-f:var(--f,"Plus Jakarta Sans",system-ui,sans-serif);--k-ease:var(--ease,cubic-bezier(.2,.7,.2,1))}

/* Startknopf */
.kma-launch{position:fixed;right:22px;bottom:22px;z-index:9000;display:flex;align-items:center;gap:12px;padding:8px 18px 8px 8px;border:0;border-radius:12px;background:var(--k-stage);color:#fff;font-family:var(--k-f);text-align:left;cursor:pointer;box-shadow:0 14px 34px rgba(3,24,43,.32),0 2px 6px rgba(3,24,43,.18);transition:transform .25s var(--k-ease),box-shadow .25s var(--k-ease)}
.kma-launch::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:0 0 12px 12px;background:linear-gradient(90deg,var(--k-blue),var(--k-sky) 60%,var(--k-warm))}
.kma-launch:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(3,24,43,.38)}
.kma-launch:focus-visible{outline:3px solid var(--k-sky);outline-offset:3px}
.kma-launch__txt{display:grid;gap:1px}
.kma-launch__txt strong{font-size:15px;font-weight:700;letter-spacing:-.01em}
.kma-launch__txt small{font-size:12px;opacity:.72}
.kma-open .kma-launch{opacity:0;pointer-events:none;transform:translateY(8px)}

/* Avatar (Markenzeichen) */
.kma-avatar{position:relative;display:inline-grid;place-items:center;flex:none;border-radius:50%;background:#fff;overflow:hidden;font:700 16px var(--k-f);color:var(--k-blue)}
.kma-avatar img{width:74%;height:74%;object-fit:contain}
.kma-avatar--launch{width:42px;height:42px;box-shadow:0 0 0 2px rgba(255,255,255,.18)}
.kma-avatar--head{width:46px;height:46px;box-shadow:0 0 0 3px rgba(255,255,255,.14)}
.kma-avatar--msg{width:30px;height:30px;border:1px solid var(--k-line);align-self:flex-start}

/* Fenster */
.kma-panel{position:fixed;right:22px;bottom:22px;z-index:9001;display:flex;flex-direction:column;width:400px;height:min(680px,calc(100vh - 44px));background:#fff;border-radius:12px;box-shadow:0 30px 70px rgba(3,24,43,.30),0 4px 12px rgba(3,24,43,.12);font-family:var(--k-f);color:var(--k-ink);overflow:hidden;transform-origin:bottom right;animation:kma-in .32s var(--k-ease)}
.kma-panel[hidden]{display:none}
@keyframes kma-in{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
.kma-head{position:relative;display:flex;align-items:center;gap:12px;padding:18px 12px 20px 18px;background:radial-gradient(120% 140% at 0% 0%,#0b3a66 0%,var(--k-stage) 62%);color:#fff}
.kma-head__txt{flex:1;display:grid;gap:3px;min-width:0}
.kma-head__txt strong{font-size:19px;font-weight:800;letter-spacing:-.02em}
.kma-head__txt span{display:flex;align-items:center;gap:6px;font-size:12.5px;opacity:.82}
.kma-online{width:8px;height:8px;border-radius:50%;background:#35c46a;box-shadow:0 0 0 3px rgba(53,196,106,.25)}
.kma-hbtn{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:10px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;transition:background .2s}
.kma-hbtn svg{width:19px;height:19px}
.kma-hbtn:hover{background:rgba(255,255,255,.18)}
.kma-hbtn:focus-visible{outline:2px solid var(--k-sky);outline-offset:1px}
.kma-brandbar{flex:none;height:4px;background:linear-gradient(90deg,var(--k-ink) 0 25%,var(--k-blue) 25% 50%,var(--k-sky) 50% 75%,var(--k-warm) 75% 100%)}

/* Verlauf */
.kma-log{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:18px 16px 12px;background:linear-gradient(180deg,#f3f6f9 0%,#f7f9fb 100%);overscroll-behavior:contain;scroll-behavior:smooth}
.kma-row{display:flex;gap:8px;animation:kma-msg .28s var(--k-ease) both}
.kma-row-user{justify-content:flex-end}
.kma-stack{display:grid;gap:6px;min-width:0;flex:1}
@keyframes kma-msg{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.kma-msg{max-width:86%;width:fit-content;padding:11px 14px;border-radius:12px;font-size:14.5px;line-height:1.55;white-space:pre-line;overflow-wrap:anywhere}
.kma-bot{background:#fff;border-top-left-radius:4px;box-shadow:0 1px 2px rgba(10,33,64,.06),0 4px 14px rgba(10,33,64,.05)}
.kma-user{max-width:80%;background:linear-gradient(135deg,var(--k-blue),#0a8fe0);color:#fff;border-top-right-radius:4px;box-shadow:0 4px 12px rgba(0,120,200,.22)}
.kma-wide{max-width:100%;width:100%}
.kma-msg a{color:var(--k-blue);font-weight:600}
.kma-answer{display:grid;gap:6px;white-space:normal}
.kma-answer>strong{font-size:14px;color:var(--k-ink)}
.kma-answer ul{margin:4px 0 0 18px;padding:0}

/* Hauptmenü als Kacheln */
.kma-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-left:38px}
.kma-tile{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:12px;border:1px solid transparent;border-radius:12px;background:#fff;color:var(--k-ink);font-family:var(--k-f);text-align:left;cursor:pointer;box-shadow:0 1px 2px rgba(10,33,64,.06);transition:border-color .2s,transform .2s var(--k-ease),box-shadow .2s}
.kma-tile:last-child:nth-child(odd){grid-column:1/-1;flex-direction:row;align-items:center}
.kma-tile:hover{border-color:var(--k-blue);transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,120,200,.12)}
.kma-tile:focus-visible{outline:2px solid var(--k-blue);outline-offset:1px}
.kma-ico{width:34px;height:34px;padding:7px;border-radius:10px;background:var(--blue-tint,#E6F3FC);color:var(--k-blue);flex:none}
.kma-tile__txt{display:grid;gap:2px}
.kma-tile__txt strong{font-size:14px;font-weight:700}
.kma-tile__txt small{font-size:12px;line-height:1.35;color:var(--k-mute)}
.kma-chips{display:flex;flex-wrap:wrap;gap:6px;margin-left:38px}
.kma-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px 0 8px;border:1px solid var(--k-line);border-radius:10px;background:#fff;color:var(--k-ink);font:600 13.5px var(--k-f);cursor:pointer;transition:border-color .2s,color .2s}
.kma-chip .kma-ico{width:22px;height:22px;padding:3px;border-radius:6px}
.kma-chip:hover{border-color:var(--k-blue);color:var(--k-blue)}
.kma-chip .kma-tile__txt strong{font-size:13.5px}

/* Produktvorschläge */
.kma-products{display:grid;gap:8px;white-space:normal}
.kma-product{display:flex;gap:12px;align-items:center;padding:8px;border:1px solid var(--k-line);border-radius:12px;background:#fff;text-decoration:none;color:var(--k-ink)!important;font-weight:400!important;transition:border-color .2s,box-shadow .2s}
.kma-product:hover{border-color:var(--k-blue);box-shadow:0 6px 16px rgba(0,120,200,.10)}
.kma-product__img{display:grid;place-items:center;width:64px;height:64px;flex:none;border-radius:8px;background:var(--k-bg2);overflow:hidden}
.kma-product__img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.kma-product__txt{display:grid;gap:2px;min-width:0}
.kma-product__txt strong{font-size:14px}
.kma-product__txt small{font-size:12.5px;color:var(--k-mute)}
.kma-product__txt b{font-size:14px;color:var(--k-blue)}
.kma-product__txt em{font-style:normal;font-size:12.5px;font-weight:600;color:var(--ok,#1E7A3C)}
.kma-more{justify-self:start;font-size:13.5px;font-weight:700;color:var(--k-blue)!important}
.kma-more::after{content:" →"}
.kma-cta{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:10px;background:var(--k-blue);color:#fff!important;text-decoration:none}
.kma-cta::after{content:"→";margin-left:8px}

/* Formulare */
.kma-form{display:grid;gap:10px;white-space:normal}
.kma-form>strong{font-size:15px}
.kma-field{display:grid;gap:4px;font-size:12.5px;font-weight:600;color:var(--k-mute)}
.kma-field input,.kma-field select,.kma-field textarea{width:100%;box-sizing:border-box;min-height:42px;padding:9px 12px;border:1px solid var(--k-line);border-radius:10px;font:400 15px var(--k-f);color:var(--k-ink);background:#fff;transition:border-color .2s,box-shadow .2s}
.kma-field input:focus,.kma-field select:focus,.kma-field textarea:focus{outline:none;border-color:var(--k-blue);box-shadow:0 0 0 3px rgba(0,120,200,.15)}
.kma-field input[type=file]{min-height:0;padding:6px 0;border:0;box-shadow:none}
.kma-items{border:0;margin:0;padding:0;display:grid;gap:6px}
.kma-items legend{font-size:12.5px;font-weight:600;color:var(--k-mute);margin-bottom:4px}
.kma-check{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;font-weight:400;color:var(--k-ink)}
.kma-check input{margin-top:2px;width:18px;height:18px;accent-color:var(--k-blue)}
.kma-submit{min-height:46px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--k-blue),#0a8fe0);color:#fff;font:700 15px var(--k-f);cursor:pointer;box-shadow:0 6px 16px rgba(0,120,200,.25)}
.kma-submit:disabled{opacity:.6}
.kma-err{margin:0;color:#b32d2e;font-size:13.5px}

/* Bestellung */
.kma-order{display:grid;gap:4px;white-space:normal}
.kma-order p{margin:0}
.kma-order ul{margin:2px 0 4px 18px;padding:0}
.kma-status strong{display:inline-block;padding:2px 8px;border-radius:6px;background:var(--blue-tint,#E6F3FC);color:var(--k-blue)}

/* Eingabe */
.kma-compose{display:flex;align-items:flex-end;gap:8px;padding:12px 14px 8px;background:#fff;border-top:1px solid #eef1f4}
.kma-input{flex:1;resize:none;min-height:46px;max-height:120px;padding:12px 14px;border:1px solid var(--k-line);border-radius:12px;background:var(--k-bg2);font:400 15px var(--k-f);color:var(--k-ink);transition:border-color .2s,background .2s,box-shadow .2s}
.kma-input:focus{outline:none;background:#fff;border-color:var(--k-blue);box-shadow:0 0 0 3px rgba(0,120,200,.15)}
.kma-send{display:grid;place-items:center;width:46px;height:46px;flex:none;border:0;border-radius:12px;background:var(--k-blue);color:#fff;cursor:pointer;transition:background .2s,transform .2s}
.kma-send svg{width:20px;height:20px}
.kma-send:hover{background:var(--blue-dark,#005C9E);transform:translateX(1px)}
.kma-foot{margin:0;padding:0 14px 10px;background:#fff;font-size:11.5px;color:var(--k-mute)}
.kma-foot a{color:inherit}

.kma-dots{display:inline-flex;gap:4px;padding:3px 0}
.kma-dots i{width:7px;height:7px;border-radius:50%;background:var(--k-blue);opacity:.35;animation:kma-b 1s infinite}
.kma-dots i:nth-child(2){animation-delay:.15s}.kma-dots i:nth-child(3){animation-delay:.3s}
@keyframes kma-b{0%,80%,100%{opacity:.25;transform:none}40%{opacity:1;transform:translateY(-2px)}}

@media (prefers-reduced-motion:reduce){.kma-panel,.kma-row{animation:none}.kma-dots i{animation:none}.kma-launch,.kma-tile{transition:none}}
@media (max-width:560px){
  .kma-launch{right:12px;bottom:12px;padding:6px 14px 6px 6px}
  .kma-launch__txt small{display:none}
  .kma-panel{inset:0;width:100%;height:100%;height:100dvh;border-radius:0;animation:none}
  .kma-open body{overflow:hidden}
  .kma-tiles,.kma-chips{margin-left:0}
}

/* Seite /service/ (Anliegen ansehen & antworten) */
.km-service{max-width:760px;display:grid;gap:14px}
.km-service__ok{padding:10px 14px;border-radius:8px;background:#e7f4ea;color:#1E7A3C}
.km-service .km-service__msgs{list-style:none!important;margin:0!important;padding:0!important;display:grid;gap:10px}
.km-service__msgs>li::marker{content:none}
.km-msg{padding:12px 14px;border-radius:10px;border:1px solid var(--line-2,#ECEEF1);background:#fff}
.km-msg--staff{background:var(--blue-tint,#E6F3FC);border-color:transparent}
.km-msg--system{background:var(--bg-2,#F4F5F6);font-size:14px}
.km-msg__who{display:block;font-size:12.5px;color:var(--mute,#6B7483);margin-bottom:4px}
.km-service__form{display:grid;gap:8px}
.km-service__form textarea{width:100%;padding:10px 12px;border:1px solid var(--line,#DDE1E6);border-radius:8px;font:inherit}
.km-service__form .btn{justify-self:start}
