
  /* --- CHAT BUTTON --- */
  #steffi-chat-launcher {
    position: fixed;
    right: 25px;
    bottom: 120px;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: #a5b69b;
    box-shadow: 0 4px 10px rgba(0,0,0,0.25);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center; /* FIX: Icon mittig */
    z-index: 9000;
    border: none;
    padding: 0;
    transition: transform 0.1s ease, box-shadow 0.1s ease;
  }

  #steffi-chat-launcher:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(0,0,0,0.30);
  }

  #steffi-chat-launcher svg {
    width: 28px;
    height: 28px;
    stroke: #fff;
    stroke-width: 2;
    fill: none;
  }

  /* --- Puls-Effekt für den Launcher-Button --- */
  @keyframes steffi-pulse {
    0% {
      transform: scale(1);
      box-shadow: 0 0 0 0 rgba(165, 182, 155, 0.7);
    }
    70% {
      transform: scale(1.08);
      box-shadow: 0 0 0 12px rgba(165, 182, 155, 0);
    }
    100% {
      transform: scale(1);
      box-shadow: 0 0 0 0 rgba(165, 182, 155, 0);
    }
  }

  .steffi-pulse {
    animation: steffi-pulse 1.2s ease-out;
  }

  /* --- Kleine Benachrichtigung bei neuer Nachricht --- */
  #steffi-chat-notify {
    position: fixed;
    right: 25px;
    bottom: 200px;
    max-width: 220px;
    background: #ffffff;
    color: #222;
    border-radius: 12px;
    box-shadow: 0 6px 16px rgba(0,0,0,0.25);
    padding: 8px 10px;
    font-size: 12px;
    z-index: 9999;
    display: none;
    cursor: pointer;
  }

  #steffi-chat-notify strong {
    color: #a5b69b;
  }

  /* --- CHAT WINDOW --- */
  #steffi-chat-window {
    position: fixed;
    right: 25px;
    bottom: 200px;
    width: 380px;
    max-width: calc(100% - 32px);
    height: 600px; /* minimal höher als vorher */
    max-height: calc(100% - 40px);
    background: #1f1f1f;
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(0,0,0,0.45);
    display: none;
    flex-direction: column;
    overflow: hidden;
    z-index: 9999;
    font-family: system-ui, sans-serif;
    color: #fff;
  }

  #steffi-chat-window.chat-open {
    display: flex;
  }

  /* --- HEADER --- */
  #steffi-chat-header {
    background: #2b2b2b;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  #steffi-chat-header-left {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  /* Avatar im Header */
  #steffi-chat-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-image: url('assets/steffi-digital-v1.webp');
    background-size: cover;
    background-position: center;
    border: 2px solid #a5b69b;
    flex-shrink: 0;
  }

  #steffi-chat-header-text {
    display: flex;
    flex-direction: column;
  }

  #steffi-chat-header-text .name {
    font-size: 14px;
    font-weight: 600;
    display: block;
  }

  /* Steffi-Online-Status (links) */
  .steffi-online-status {
    font-size: 11px;
    display: flex;
    align-items: center;
    gap: 4px;
    color: #9ed26a;
  }

  .steffi-online-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #9ed26a;
  }

  /* Header rechts: Öffnungsstatus + Close */
  #steffi-chat-header-right {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .steffi-opening-status {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    cursor: default;
  }

  .steffi-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #9ed26a;
  }

  .steffi-status-open   { color: #9ed26a; }
  .steffi-status-closing{ color: #f5c04f; }
  .steffi-status-closed { color: #ff6b6b; }
  .steffi-status-unknown{ color: #b8b8b8; }

  #steffi-chat-close {
    font-size: 20px;
    cursor: pointer;
    color: #ccc;
    line-height: 1;
    padding: 0;
    border: 0;
    background: transparent;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Vorschläge */
  #steffi-chat-suggestions {
    padding: 12px 8px;
    background: #e5ddd5;
    border-bottom: 1px solid rgba(0,0,0,0.1);
    color: #333;
  }

  .suggestion-title {
    font-size: 16px;
    margin: 0 0 8px 0;
    color: #555;
    font-weight: 600;
  }

  .steffi-suggestion-chip {
    padding: 5px 10px;
    font-size: 12px;
    border-radius: 16px;
    background: #fff;
    cursor: pointer;
    margin: 0 6px 6px 0;
    border: none;
    box-shadow: 0 1px 2px rgba(0,0,0,0.15);
    display: inline-block;
  }

  /* Nachrichtenbereich */
  #steffi-chat-messages {
    flex: 1;
    background: #e5ddd5;
    padding: 8px;
    overflow-y: auto;
    font-size: 13px;
  }

  .steffi-msg-row {
    display: flex;
    align-items: flex-start;
    margin-bottom: 8px;
    gap: 6px;
  }

  .steffi-msg-row.user {
    justify-content: flex-end;
  }

  .steffi-msg-row.bot {
    justify-content: flex-start;
  }

  .steffi-msg-avatar {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background-image: url('assets/steffi-digital-v1.webp');
    background-size: cover;
    background-position: center;
    border: 2px solid #a5b69b;
    flex-shrink: 0;
  }

  .steffi-msg-bubble {
    max-width: 80%;
    padding: 6px 9px;
    border-radius: 8px;
    line-height: 1.4;
    white-space: normal;
    word-wrap: break-word;
  }

  .steffi-msg-bubble.bot {
    background: #ffffff;
    color: #222;
    border-bottom-left-radius: 0;
  }

  .steffi-msg-bubble.user {
    background: #4d4c4c;
    color: #ffffff;
    border-bottom-right-radius: 0;
  }

  /* schönere Struktur im Bot-Text */
  .steffi-msg-bubble.bot p {
    margin: 0 0 6px 0;
  }

  .steffi-msg-bubble.bot p:last-child {
    margin-bottom: 0;
  }

  .steffi-msg-bubble.bot ul {
    margin: 4px 0 6px 16px;
    padding: 0;
  }

  .steffi-msg-bubble.bot li {
    margin: 2px 0;
  }

  /* Rückruf-Formular */
  .steffi-callback-bubble {
    background: #ffffff;
    color: #222;
    border-radius: 12px;
    border-bottom-left-radius: 0;
    padding: 8px 10px;
    margin-top: 6px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.15);
    white-space: normal !important;
  }

  #steffi-chat-typing {
    font-size: 11px;
    color: #555;
    padding: 3px 10px;
  }

  /* Eingabefeld */
  #steffi-chat-inputbar {
    background: #f0f0f0;
    padding: 6px;
    display: flex;
    gap: 6px;
    align-items: center;
    border-top: 1px solid #ccc;
  }

  #steffi-chat-input {
    flex: 1;
    border-radius: 16px;
    border: 1px solid #ccc;
    padding: 6px 10px;
    font-size: 13px;
    resize: none;
    outline: none;
    min-height: 40px;  /* ca. 2 Zeilen */
    max-height: 100px;
    line-height: 1.35;
  }

  /* Sendebutton rechts neben dem Textfeld */
  #steffi-chat-send {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background: #a5b69b;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
  }

  #steffi-chat-send svg {
    width: 16px;
    height: 16px;
    fill: #ffffff;
  }

  #steffi-chat-send:hover {
    filter: brightness(1.05);
  }

  #steffi-chat-send:disabled,
  .steffi-suggestion-chip:disabled {
    cursor: wait;
    opacity: 0.65;
  }

  /* Quick-Action-Leiste unter dem Eingabefeld – jetzt mit zwei Reihen */
  #steffi-chat-quickbar {
    background: #2b2b2b;
    padding: 6px 4px 4px;
    border-top: 1px solid #1a1a1a;
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .steffi-quick-row {
    display: flex;
    justify-content: space-between;
  }

  .steffi-quick-row--secondary {
    opacity: 0.96;
    border-top: 1px solid rgba(255,255,255,0.12); /* Trenner zwischen Reihe 1 & 2 */
    margin-top: 3px;
    padding-top: 3px;
  }

  .steffi-quick-btn {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: none;
    padding: 4px 0;
    cursor: pointer;
    background: transparent;
    color: #a5b69b;
    border-radius: 0;
    gap: 2px;
    text-decoration: none;
  }

  /* feine Linie zwischen den Icons – pro Reihe */
  .steffi-quick-row .steffi-quick-btn + .steffi-quick-btn {
    border-left: 1px solid rgba(255,255,255,0.12);
  }

  .steffi-quick-btn:hover {
    transform: translateY(-1px);
  }

  .steffi-quick-icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: #a5b69b;
    stroke-width: 1.8;
  }

  .steffi-quick-label {
    font-size: 10px;
    line-height: 1.1;
    color: #a5b69b;
  }

  /* Button für Onlinebuchung IN Antworten */
  .steffi-booking-button {
    display: inline-block;
    margin-top: 8px;
    padding: 8px 14px;
    border-radius: 16px;
    background: #a5b69b;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 600;
    box-shadow: 0 2px 4px rgba(0,0,0,0.25);
    cursor: pointer;
    transition: background 0.2s;
  }

  .steffi-booking-button:hover {
    background: #c49c2f;
  }

  @media (max-width: 767px), (max-height: 760px) {
    #steffi-chat-window {
      left: max(8px, env(safe-area-inset-left));
      right: max(8px, env(safe-area-inset-right));
      bottom: max(8px, env(safe-area-inset-bottom));
      width: auto;
      max-width: none;
      height: calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
      max-height: none;
    }

    #steffi-chat-header {
      padding-left: max(10px, env(safe-area-inset-left));
      flex-shrink: 0;
    }

    #steffi-chat-input,
    #steffi-callback-name,
    #steffi-callback-phone,
    #steffi-callback-topic {
      font-size: 16px !important;
    }

    #steffi-chat-send {
      width: 44px;
      height: 44px;
    }

    .steffi-suggestion-chip {
      min-height: 36px;
      padding: 8px 11px;
    }

    .steffi-quick-btn {
      min-height: 44px;
    }

    #steffi-chat-launcher {
      right: max(16px, env(safe-area-inset-right));
      bottom: max(24px, env(safe-area-inset-bottom));
    }

    #steffi-chat-notify {
      right: max(16px, env(safe-area-inset-right));
      bottom: calc(max(24px, env(safe-area-inset-bottom)) + 80px);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    #steffi-chat-launcher,
    .steffi-pulse,
    .steffi-quick-btn {
      animation: none !important;
      transition: none !important;
      transform: none !important;
    }
  }

/* Refreshed Steffi: matcha, warm white, sand, a restrained mint accent. */
#steffi-chat-launcher{right:24px;bottom:24px;width:auto;height:76px;min-width:220px;justify-content:flex-start;gap:12px;padding:0 22px 0 10px;border:1px solid rgba(165,182,155,.55);border-radius:999px;background:linear-gradient(135deg,#263d2b,#14251a);box-shadow:0 10px 30px rgba(0,0,0,.25);color:#e8efdf;z-index:12000;}
#steffi-chat-launcher .steffi-launcher-avatar{display:block;align-self:flex-end;width:92px;height:106px;object-fit:contain;object-position:bottom;background:none;filter:drop-shadow(0 3px 5px rgba(0,0,0,.18));}
.steffi-launcher-caption{font-size:15px;font-weight:600;text-align:left;line-height:1.5;}
.steffi-launcher-caption small{display:block;font-size:10px;font-weight:400;color:#b8cbb0;}
#steffi-chat-window{right:24px;bottom:130px;width:440px;height:650px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 160px);border:1px solid #a5b69b;border-radius:20px;background:#f3f3ec;color:#25372a;box-shadow:0 24px 70px rgba(0,0,0,.32);z-index:12001;}
#steffi-chat-header{flex-shrink:0;background:linear-gradient(125deg,#30452e,#1d3224);padding:15px 17px;color:#edf2e7;gap:10px;border-bottom:1px solid rgba(165,182,155,.35);}
#steffi-chat-avatar{width:56px;height:60px;flex:0 0 56px;border:0;border-radius:0;background-image:url('assets/steffi-digital-v1.webp');background-size:contain;background-position:center bottom;background-repeat:no-repeat;}
#steffi-chat-header-text .name{font-size:20px;letter-spacing:-.02em;}
.steffi-online-status{color:#bccfb5;font-size:10px;}
.steffi-online-dot{background:#b8ddc9;width:6px;height:6px;}
#steffi-chat-header-right{align-items:flex-start;gap:10px;}
.steffi-opening-status{font-size:10px;max-width:110px;line-height:1.45;color:#c8d6bf;}
#steffi-chat-close{color:#e5edde;background:transparent;border:0;min-width:32px;min-height:32px;font-size:25px;}
#steffi-preview-note{flex-shrink:0;margin:0;padding:9px 17px;background:#e6e9dd;color:#52654e;font-size:10px;line-height:1.5;border-bottom:1px solid #d0d9c4;}
#steffi-preview-note[hidden]{display:none;}
#steffi-chat-suggestions{flex-shrink:0;max-height:155px;overflow:auto;padding:13px 16px;background:#f3f3ec;border-bottom:1px solid #d2dac8;}
#steffi-chat-suggestions .suggestion-title{color:#54694d;font-size:12px;margin-bottom:8px;}
.steffi-suggestion-chip{background:#e8eddf;color:#354b33;border:1px solid #cedac3;font-size:11px;line-height:1.5;padding:7px 10px;border-radius:999px;margin:0 5px 7px 0;}
.steffi-suggestion-chip:hover{background:#dbe6d0;color:#25372a;}
#steffi-chat-messages{background:#f3f3ec;min-height:90px;flex:1;overflow:auto;padding:17px 15px;overscroll-behavior:contain;}
.steffi-msg-avatar{background-image:url('assets/steffi-digital-v1.webp');background-size:contain;background-repeat:no-repeat;background-position:center;background-color:#dce5d4;border-color:#bbceb0;}
.steffi-msg-bubble.bot{background:#fffefa;color:#293e2e;border:1px solid #dce3d4;box-shadow:0 3px 8px rgba(44,63,39,.035);}
.steffi-msg-bubble.user{background:#365339;color:#f5f7f0;}
.steffi-msg-bubble{font-size:13px;line-height:1.65;overflow-wrap:anywhere;}
.steffi-msg-bubble a{color:#477049;}
#steffi-chat-typing{background:#f3f3ec;color:#526b4c;font-size:11px;padding:5px 17px;}
#steffi-chat-inputbar{flex-shrink:0;background:#eef0e6;border-top:1px solid #d0dac4;padding:12px 14px;gap:10px;}
#steffi-chat-input{min-width:0;background:#fffefa;color:#263d2b;border:1px solid #bdcbb2;border-radius:12px;line-height:1.5;font-size:13px;}
#steffi-chat-input::placeholder{color:#7c8a74;}
#steffi-chat-send{background:#a5b69b;color:#243a29;border:0;border-radius:50%;width:40px;height:40px;flex:0 0 40px;}
#steffi-chat-send svg{stroke:#243a29;fill:none;}
#steffi-chat-quickbar{flex-shrink:0;background:#e6ebdf;border-top:1px solid #ced9c1;padding:9px 13px;}
.steffi-quick-btn{background:transparent;color:#405939;border:1px solid transparent;border-radius:9px;min-width:0;}
.steffi-quick-btn:hover{background:#d6e1cd;color:#203724;}
.steffi-quick-icon svg{stroke:currentColor;}
.steffi-quick-label{font-size:10px;}
#steffi-quick-online,.steffi-booking-button{background:linear-gradient(135deg,#d0ddc7,#a5b69b);color:#1e2b23;border:0;border-radius:999px;font-weight:600;letter-spacing:.06em;}
.steffi-callback-bubble input,.steffi-callback-bubble textarea{background:#f9faf4!important;border-color:#b9c9ad!important;color:#263d2b!important;font-size:13px!important;padding:9px!important;}
#steffi-callback-send{background:#a5b69b!important;color:#243a29!important;}
#steffi-callback-send:disabled{opacity:.65;cursor:not-allowed!important;}
#steffi-chat-notify{bottom:139px;right:24px;background:#f3f3ec;color:#263d2b;border:1px solid #a5b69b;}
#steffi-chat-notify strong{color:#46673d;}
#steffi-chat-window button:focus-visible,#steffi-chat-window a:focus-visible,#steffi-chat-launcher:focus-visible{outline:2px solid #88b69e;outline-offset:3px;}
@keyframes steffi-pulse{0%,100%{box-shadow:0 10px 30px rgba(0,0,0,.25);}60%{box-shadow:0 0 0 7px rgba(168,206,181,.16),0 10px 30px rgba(0,0,0,.25);}}
@media(max-width:600px){#steffi-chat-launcher{right:14px;bottom:18px;height:60px;min-width:0;padding:0 16px 0 6px;gap:7px;}#steffi-chat-launcher .steffi-launcher-avatar{width:72px;height:82px;}.steffi-launcher-caption{font-size:13px;}.steffi-launcher-caption small{font-size:9px;}#steffi-chat-window{right:12px;bottom:108px;width:calc(100vw - 24px);max-width:none;height:620px;max-height:calc(100dvh - 126px);border-radius:16px;}#steffi-chat-header{padding:11px 12px;}#steffi-chat-avatar{width:44px;height:48px;flex-basis:44px;}#steffi-chat-suggestions{max-height:115px;}#steffi-chat-notify{right:14px;bottom:112px;}.steffi-opening-status{max-width:95px;font-size:9px;}#steffi-chat-messages{padding:12px 10px;}}
@media(prefers-reduced-motion:reduce){.steffi-pulse{animation:none!important;}#steffi-chat-launcher{transition:none;}}

/* Editorial conversation panel: restrained colours, spacious typography, fine edges. */
#steffi-chat-window{left:auto;width:430px;height:680px;background:#f5f3ed;border:1px solid rgba(181,196,165,.8);border-radius:14px;box-shadow:0 28px 70px rgba(8,20,12,.28),0 0 0 5px rgba(184,201,170,.045);}
#steffi-chat-header{padding:22px 22px 19px;background:linear-gradient(125deg,#344a32,#213b2b);align-items:center;position:relative;border-bottom:0;}
#steffi-chat-header::after{content:'';position:absolute;bottom:0;left:20px;right:20px;height:1px;background:linear-gradient(90deg,transparent,#c4d2b180,transparent);}
#steffi-chat-avatar{width:65px;height:76px;flex-basis:65px;margin-right:4px;}
.steffi-header-eyebrow{font-size:8px;font-weight:500;letter-spacing:.16em;color:#becbb4;margin-bottom:4px;}
#steffi-chat-header-text .name{font-family:Georgia,serif;font-weight:400;font-size:30px;line-height:1.15;letter-spacing:-.02em;}
.steffi-online-status{font-size:10px;color:#c6d5bc;margin-top:5px;gap:5px;}
#steffi-chat-header-right{align-self:stretch;flex-direction:column-reverse;align-items:flex-end;justify-content:space-between;gap:6px;}
#steffi-chat-close{height:28px;min-height:28px;min-width:28px;font-weight:300;color:#d2ddc9;}
.steffi-opening-status{font-size:9px;max-width:125px;text-align:right;}
#steffi-preview-note{font-size:9px;line-height:1.6;background:#eaece1;color:#69765f;padding:8px 22px;border-bottom:1px solid #dbe0d1;}
#steffi-chat-messages{padding:24px 20px;background:radial-gradient(ellipse at top left,rgba(176,192,161,.1),transparent 70%),#f5f3ed;min-height:105px;scrollbar-width:thin;scrollbar-color:#bdc8b0 transparent;}
.steffi-msg-row{gap:10px;margin-bottom:22px;}
.steffi-msg-avatar{width:26px;height:31px;border:0;border-radius:0;background-color:transparent;}
.steffi-msg-bubble{max-width:calc(100% - 38px);padding:13px 15px;font-size:13px;line-height:1.8;border-radius:12px;}
.steffi-msg-bubble.bot{padding:0 4px;background:transparent;border:0;box-shadow:none;color:#34422e;}
.steffi-msg-bubble.user{background:#e2e8d9;color:#31482e;border:1px solid #d4deca;border-radius:13px 13px 3px 13px;}
.steffi-msg-bubble.user p{margin:0;}
#steffi-chat-suggestions{padding:12px 22px 15px;max-height:175px;background:#f5f3ed;border-top:1px solid #dce2d3;border-bottom:0;}
#steffi-chat-suggestions .suggestion-title{font-size:11px;letter-spacing:.02em;font-weight:400;color:#77816d;margin-bottom:10px;}
.steffi-primary-suggestions{display:flex;flex-wrap:wrap;gap:7px;}
.steffi-suggestion-chip{margin:0;background:transparent;border:1px solid #bac8ad;border-radius:6px;color:#405638;font-size:11px;min-height:34px;padding:7px 10px;box-shadow:none;}
.steffi-suggestion-chip:hover{background:#e5ebdc;}
.steffi-more-questions{margin-top:12px;border:0;}
.steffi-more-questions summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;color:#768269;font-size:10px;padding:5px 0;}
.steffi-more-questions summary::-webkit-details-marker{display:none;}
.steffi-more-questions summary span{font-size:15px;}
.steffi-more-questions[open] summary span{transform:rotate(45deg);}
.steffi-more-questions>div{display:flex;flex-wrap:wrap;gap:7px;padding-top:9px;}
#steffi-chat-typing{background:#f5f3ed;padding:0 22px 8px;color:#79866e;}
#steffi-chat-inputbar{padding:13px 17px;background:#f5f3ed;border-top:1px solid #d9dfd0;align-items:flex-end;}
#steffi-chat-input{padding:12px 13px;min-height:46px;max-height:100px;border:1px solid #c6d1bc;border-radius:8px;background:#fffefa;color:#354b31;font-size:13px;}
#steffi-chat-input:focus-visible{outline:1px solid #829b72;outline-offset:1px;}
#steffi-chat-send{height:42px;width:42px;flex-basis:42px;margin-bottom:2px;border-radius:9px;background:#3d5738;color:#eef3e8;box-shadow:none;}
#steffi-chat-send svg{stroke:#e5eedb;}
#steffi-chat-quickbar{background:#e9ede2;padding:10px 16px 12px;border-color:#d3ddc8;gap:7px;}
.steffi-quick-row{gap:5px;}
.steffi-quick-row .steffi-quick-btn+.steffi-quick-btn{border-left:0;}
.steffi-quick-btn{padding:7px 2px;gap:5px;border-radius:6px;min-height:42px;}
.steffi-quick-icon svg{width:16px;height:16px;stroke:#607456;stroke-width:1.5;}
.steffi-quick-label{color:#607456;font-size:9px;letter-spacing:.015em;}
.steffi-quick-row--secondary{border-top:1px solid #cfdac5;padding-top:7px;margin-top:0;}
#steffi-quick-online{background:linear-gradient(135deg,#d0ddc7,#a5b69b);border-radius:999px;}
#steffi-quick-online .steffi-quick-label,#steffi-quick-online svg{color:#263d2b;stroke:#263d2b;}
.steffi-booking-button{color:#1e2b23!important;box-shadow:none;}
.steffi-booking-button:hover{background:linear-gradient(135deg,#d0ddc7,#a5b69b);filter:brightness(.96);}
.steffi-callback-bubble.bot{background:#fffefa;border:1px solid #d6dfcc;padding:16px;border-radius:10px;}
@media(max-width:600px){#steffi-chat-window{left:auto;right:12px;width:calc(100vw - 24px);height:650px;max-height:calc(100dvh - 126px);}#steffi-chat-header{padding:15px 15px 13px;}#steffi-chat-avatar{width:51px;height:63px;flex-basis:51px;}#steffi-chat-header-text .name{font-size:27px;}.steffi-header-eyebrow{font-size:7px;letter-spacing:.12em;}#steffi-preview-note{padding:7px 15px;}#steffi-chat-messages{padding:18px 14px;}#steffi-chat-suggestions{padding:11px 15px;max-height:145px;}#steffi-chat-inputbar{padding:11px 12px;}#steffi-chat-quickbar{padding:8px 12px;}.steffi-msg-row{margin-bottom:18px;}#steffi-chat-header-right .steffi-opening-status{font-size:8px;max-width:100px;}}

/* Keep legacy page colours out of the new conversation. */
#steffi-chat-messages .steffi-msg-row{background:transparent;color:#34422e;margin-left:0;margin-right:0;border:0;}
#steffi-chat-messages .steffi-msg-bubble.bot{background:transparent;color:#34422e;}
#steffi-chat-messages .steffi-msg-bubble.user{background:#e2e8d9;color:#31482e;}
#steffi-chat-messages .steffi-msg-bubble p{color:inherit;}

/* Responsive quick actions: clear desktop icons and comfortable touch targets. */
#steffi-chat-quickbar .steffi-quick-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
#steffi-chat-quickbar .steffi-quick-btn{min-height:60px;padding:9px 3px;gap:7px;}
#steffi-chat-quickbar .steffi-quick-icon svg{display:block;width:26px;height:26px;stroke-width:1.6;}
#steffi-chat-quickbar .steffi-quick-label{font-size:12px;line-height:1.3;letter-spacing:0;}
@media(max-width:600px){#steffi-chat-quickbar .steffi-quick-row{gap:5px;}#steffi-chat-quickbar .steffi-quick-btn{min-height:48px;padding:6px 2px;gap:5px;}#steffi-chat-quickbar .steffi-quick-icon svg{width:22px;height:22px;}#steffi-chat-quickbar .steffi-quick-label{font-size:10px;}}

/* Device-sized conversation panel with the message history taking all free space. */
#steffi-chat-window{left:auto;right:24px;top:auto;bottom:24px;width:clamp(480px,36vw,600px);max-width:calc(100vw - 48px);height:min(840px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);}
body:has(#steffi-chat-window.chat-open) #steffi-chat-launcher{visibility:hidden;pointer-events:none;}
#steffi-chat-messages{flex:1 1 0;min-height:0;padding:22px;}
#steffi-chat-messages .steffi-msg-row{margin-bottom:17px;}
#steffi-chat-messages .steffi-msg-bubble{font-size:14px;line-height:1.75;}
#steffi-chat-suggestions{max-height:140px;padding-top:10px;padding-bottom:10px;}
#steffi-chat-inputbar{padding:12px 17px;}
#steffi-chat-quickbar{padding:8px 16px 10px;gap:5px;}
#steffi-chat-quickbar .steffi-quick-btn{min-height:56px;padding:7px 3px;gap:6px;}
@media(min-width:1600px){#steffi-chat-window{width:600px;height:min(900px,calc(100dvh - 64px));max-height:calc(100dvh - 64px);bottom:32px;right:32px;}}
@media(max-width:900px){#steffi-chat-window{width:480px;max-width:calc(100vw - 32px);right:16px;bottom:16px;height:min(680px,80dvh);max-height:calc(100dvh - 64px);}}
@media(max-width:600px){#steffi-chat-window{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:auto;max-width:none;height:min(680px,78dvh);max-height:calc(100dvh - 64px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:16px;}#steffi-chat-header{padding:12px 14px;}#steffi-chat-avatar{height:52px;width:45px;flex-basis:45px;}#steffi-chat-header-text .name{font-size:25px;}#steffi-chat-messages{padding:16px 13px;}#steffi-chat-messages .steffi-msg-bubble{font-size:13px;}#steffi-chat-suggestions{max-height:115px;padding:9px 14px;}#steffi-chat-inputbar{padding:10px 12px;}#steffi-chat-input{min-height:42px;max-height:82px;}#steffi-chat-quickbar{padding:6px 12px 8px;gap:4px;}#steffi-chat-quickbar .steffi-quick-btn{min-height:46px;padding:5px 2px;gap:4px;}#steffi-chat-quickbar .steffi-quick-icon svg{width:22px;height:22px;}#steffi-chat-quickbar .steffi-quick-label{font-size:10px;}}
@media(max-height:560px){#steffi-chat-header{padding:8px 14px;}#steffi-chat-avatar{height:40px;width:36px;flex-basis:36px;}#steffi-chat-header-text .name{font-size:22px;}.steffi-header-eyebrow{margin-bottom:2px;font-size:7px;}.steffi-online-status{margin-top:2px;}#steffi-preview-note{padding:5px 14px;font-size:8px;}#steffi-chat-suggestions{max-height:70px;padding:6px 14px;}#steffi-chat-suggestions .suggestion-title{display:none;}.steffi-more-questions{margin-top:5px;}#steffi-chat-messages{padding:10px 12px;}#steffi-chat-messages .steffi-msg-row{margin-bottom:12px;}#steffi-chat-inputbar{padding:7px 12px;}#steffi-chat-input{min-height:38px;padding:8px 10px;}#steffi-chat-quickbar .steffi-quick-btn{min-height:36px;padding:3px 2px;gap:3px;}#steffi-chat-quickbar .steffi-quick-icon svg{width:20px;height:20px;}#steffi-chat-quickbar .steffi-quick-label{font-size:9px;}}
@media(min-width:700px) and (max-height:560px){#steffi-chat-quickbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;}#steffi-chat-quickbar .steffi-quick-row--secondary{margin:0;padding:0;border:0;}#steffi-chat-quickbar .steffi-quick-btn{min-height:42px;}}

/* Compact mobile overlay: leave the salon visible and prioritise conversation. */
@media(max-width:600px){
  #steffi-chat-header{padding:10px 13px;}
  #steffi-chat-suggestions{max-height:78px;padding:7px 13px;}
  #steffi-chat-suggestions .suggestion-title{display:none;}
  .steffi-more-questions{margin-top:5px;}
  #steffi-chat-messages{padding:14px 13px;}
  #steffi-chat-messages .steffi-msg-bubble{font-size:14px;line-height:1.65;}
  #steffi-chat-quickbar .steffi-quick-btn{min-height:44px;}
}
@media(max-width:900px) and (max-height:560px){
  #steffi-chat-window{height:84dvh;max-height:calc(100dvh - 40px);bottom:max(10px,env(safe-area-inset-bottom));}
  #steffi-chat-suggestions{max-height:48px;padding:5px 12px;}
  #steffi-chat-header{padding:7px 12px;}
}

/* Fine capsule edge with one travelling point of light. */
#steffi-chat-launcher{border-color:rgba(183,204,170,.48);background:linear-gradient(120deg,#30452f,#1c3225 70%,#243a2b);box-shadow:0 9px 26px rgba(9,24,14,.23),inset 0 1px 0 rgba(221,235,205,.06);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
#steffi-chat-launcher:hover{transform:translateY(-2px);border-color:rgba(202,221,190,.68);box-shadow:0 12px 30px rgba(9,24,14,.27),inset 0 1px 0 rgba(221,235,205,.09);}
#steffi-chat-launcher.steffi-pulse{animation:none!important;}
#steffi-chat-launcher .steffi-edge-reflection{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible;pointer-events:none;stroke:none;}
@media(prefers-reduced-motion:reduce){#steffi-chat-launcher .steffi-edge-reflection{display:none;}#steffi-chat-launcher{transition:none;}#steffi-chat-launcher:hover{transform:none;}}

/* The conversation grows softly from the Steffi launcher and settles without bounce. */
#steffi-chat-window{transform-origin:bottom right;}
body:has(#steffi-chat-window.chat-closing) #steffi-chat-launcher{visibility:visible;pointer-events:none;}
@media(max-width:600px){#steffi-chat-window{transform-origin:85% 100%;}}

/* A clear, circular send control aligned with the message input. */
#steffi-chat-inputbar{align-items:center;}
#steffi-chat-send{box-sizing:border-box;display:flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;min-width:48px;min-height:48px;max-width:48px;max-height:48px;margin:0;padding:0;border:1px solid rgba(118,148,100,.55);border-radius:50%;background:linear-gradient(145deg,#d3e2c8,#a5b69b);color:#263d2b;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 3px 8px rgba(38,61,43,.1);transition:background .2s,box-shadow .2s,transform .2s;}
#steffi-chat-send svg{display:block;width:22px;height:22px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none;}
#steffi-chat-send:hover:not(:disabled){background:linear-gradient(145deg,#e0ecd7,#b6c8a8);box-shadow:0 4px 12px rgba(38,61,43,.16);transform:translateY(-1px);}
#steffi-chat-send:active:not(:disabled){transform:translateY(0);}
#steffi-chat-send:disabled{opacity:.5;cursor:wait;}
@media(max-width:600px){#steffi-chat-send{flex-basis:44px;width:44px;height:44px;min-width:44px;min-height:44px;max-width:44px;max-height:44px;}#steffi-chat-send svg{width:21px;height:21px;}}
@media(prefers-reduced-motion:reduce){#steffi-chat-send{transition:none;}#steffi-chat-send:hover:not(:disabled){transform:none;}}

/* A lighter Steffi invitation in the site's fresh sand and sage palette. */
#steffi-chat-launcher{background:linear-gradient(125deg,#e0e7d6,#c5d5b7 70%,#bdd0b0);border-color:rgba(108,137,86,.65);color:#293f28;box-shadow:0 9px 25px -8px rgba(37,57,28,.23),inset 0 1px 0 rgba(253,255,246,.72);}
#steffi-chat-launcher .steffi-launcher-caption{font-size:16px;font-weight:600;letter-spacing:-.015em;color:#293f28;line-height:1.5;}
#steffi-chat-launcher .steffi-launcher-caption small{font-size:10px;font-weight:400;letter-spacing:0;color:#4e6244;}
#steffi-chat-launcher .steffi-launcher-avatar{filter:drop-shadow(0 2px 4px rgba(45,66,33,.12));}
#steffi-chat-launcher:hover{transform:translateY(-1px);border-color:rgba(102,132,80,.85);background:linear-gradient(125deg,#e8efdf,#cfdfc1 70%,#c5d8b9);box-shadow:0 11px 28px -9px rgba(37,57,28,.25),inset 0 1px 0 rgba(253,255,246,.8);}
@media(max-width:600px){#steffi-chat-launcher .steffi-launcher-caption{font-size:14px;}#steffi-chat-launcher .steffi-launcher-caption small{font-size:9px;}}
@media(prefers-reduced-motion:reduce){#steffi-chat-launcher:hover{transform:none;}}

/* Keep Steffi clearly visible against the pale content surfaces. */
#steffi-chat-launcher{background:linear-gradient(125deg,#5b774f,#526f46 70%,#49673e);border-color:rgba(225,239,210,.75);color:#f6faef;box-shadow:0 10px 26px -8px rgba(36,56,27,.32),inset 0 1px 0 rgba(248,255,236,.2);}
#steffi-chat-launcher .steffi-launcher-caption{color:#f6faef;}
#steffi-chat-launcher .steffi-launcher-caption small{color:#f2f7eb;}
#steffi-chat-launcher:hover{background:linear-gradient(125deg,#627e55,#5a774e 70%,#526f46);border-color:#e0edd4;box-shadow:0 12px 28px -8px rgba(36,56,27,.35),inset 0 1px 0 rgba(248,255,236,.23);}

/* Warm sand-brown invitation, distinct from the light sand content. */
#steffi-chat-launcher{background:linear-gradient(125deg,#80664f,#785d47 70%,#715943);border-color:rgba(236,221,197,.8);color:#fffaf0;box-shadow:0 10px 26px -8px rgba(69,48,31,.28),inset 0 1px 0 rgba(255,241,218,.19);}
#steffi-chat-launcher .steffi-launcher-caption{color:#fffaf0;}
#steffi-chat-launcher .steffi-launcher-caption small{color:#fff4e4;}
#steffi-chat-launcher:hover{background:linear-gradient(125deg,#886d54,#81664d 70%,#785e47);border-color:#efdfc8;box-shadow:0 12px 28px -8px rgba(69,48,31,.3),inset 0 1px 0 rgba(255,241,218,.24);}

.steffi-ai-choice{padding:12px 18px;border-block:1px solid #b7c4a8;background:#f4efe5;color:#354730;flex:0 0 auto}.steffi-ai-choice p{font:12px/1.6 Arial,sans-serif;margin:0 0 8px}.steffi-ai-choice a{font:12px Arial,sans-serif;display:block;text-decoration:underline;margin-bottom:8px}.steffi-ai-choice button{font:12px Arial,sans-serif;padding:9px 12px;margin:0 8px 4px 0;border:1px solid #8b9b78;border-radius:8px;background:#edf0e4;color:#354730;cursor:pointer;min-height:40px}.steffi-ai-settings{border:0;background:transparent;color:#586b49;font:11px Arial,sans-serif;padding:7px 16px;cursor:pointer;flex:0 0 auto;text-decoration:underline}

.steffi-ai-notice{flex:0 0 auto;margin:0;padding:8px 17px;border-top:1px solid #d5ddcd;background:#f4f1e9;color:#475a40;font:11px/1.5 Arial,sans-serif}.steffi-ai-notice a{color:inherit;text-decoration:underline;text-underline-offset:2px}@media(max-width:600px){.steffi-ai-notice{padding:7px 12px;font-size:10px}}

/* Clearly distinguish Steffi availability from the salon opening status. */
#steffi-chat-header .steffi-online-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#9dff92;box-shadow:0 0 0 2px rgba(157,255,146,.18),0 0 9px rgba(157,255,146,.65);opacity:1}#steffi-chat-header .steffi-online-status{gap:8px;color:#e4efdf}
