.bl-chat-bubble{position:fixed;right:20px;bottom:20px;width:60px;height:60px;border-radius:50%;
    background:#ff7d0b;color:#fff;display:flex;align-items:center;justify-content:center;
    cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.2);z-index:9998;font-size:28px;border:0}
  .bl-chat-panel{position:fixed;right:20px;bottom:90px;width:380px;max-width:calc(100vw - 24px);
    height:560px;max-height:calc(100vh - 110px);background:#fff;border-radius:14px;
    box-shadow:0 10px 40px rgba(0,0,0,.18);display:none;flex-direction:column;overflow:hidden;
    z-index:9999;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
  .bl-chat-panel.open{display:flex}
  .bl-chat-header{background:#ff7d0b;color:#fff;padding:12px 14px;display:flex;justify-content:space-between;align-items:center}
  .bl-chat-header h4{margin:0;font-size:15px;font-weight:600}
  .bl-chat-close{background:transparent;border:0;color:#fff;font-size:20px;cursor:pointer}
  .bl-chat-log{flex:1;overflow-y:auto;padding:14px;background:#f7f8fa}
  .bl-msg{margin:8px 0;padding:9px 12px;border-radius:12px;font-size:14px;line-height:1.45;max-width:85%;white-space:pre-wrap}
  .bl-msg.user{background:#100d0a;color:#fff;margin-left:auto;border-bottom-right-radius:4px}
  .bl-msg.bot{background:#fff;color:#222;border:1px solid #e6e8ec;border-bottom-left-radius:4px}
  .bl-msg.typing{font-style:italic;color:#888}
  .bl-cards{display:flex;flex-direction:column;gap:8px;margin-top:8px}
  .bl-card{display:flex;display:-webkit-flex;flex-direction:column;gap:10px;padding:8px;background:#fff;border:1px solid #e6e8ec;border-radius:10px;
    text-decoration:none;color:inherit;transition:border-color .15s}
  .bl-card:hover{border-color:#100d0a}
  .bl-card img{width:54px;height:54px;object-fit:cover;border-radius:6px;background:#eee;flex-shrink:0}
  .bl-card-info{flex:1;min-width:0}
  .bl-card-name{font-size:13px;font-weight:600;color:#222;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .bl-card-meta{font-size:11px;color:#666;margin-top:2px}
  .bl-chat-input{display:flex;gap:8px;padding:10px;border-top:1px solid #e6e8ec;background:#fff}
  .bl-chat-input input{flex:1;padding:9px 12px;border:1px solid #d6dae0;border-radius:20px;font-size:14px;outline:none}
  .bl-chat-input input:focus{border-color:#100d0a}
  .bl-chat-input button{background:#100d0a;color:#fff;border:0;border-radius:20px;padding:0 16px;cursor:pointer;font-weight:600}
  .bl-chat-input button:disabled{opacity:.5;cursor:not-allowed}

  .bl-card-cat {
    background: linear-gradient(0deg, #f7f9f8, #fff);
  }
  .bl-card-cat img {
    background: #e8f3ee;
  }
  .bl-card-cat .bl-card-meta {
    color: #0a8f5a;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 10px;
    letter-spacing: 0.5px;
  }
  
  /* Image fallback when image_url is missing */
  .bl-card-img-placeholder {
    width: 54px; height: 54px;
    border-radius: 6px;
    background: #f0f2f5;
    display: flex; align-items: center; justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
  }
  
  /* Section spacing between category and product blocks */
  .bl-cards + .bl-cards { margin-top: 6px; }

  .bl-num-list {
    list-style: none;
    counter-reset: bl-counter;
    padding: 0;
    margin: 10px 0;
  }
  
  .bl-num-list li {
    counter-increment: bl-counter;
    background: #f1f1f1;
    padding: 8px 10px 8px 36px;
    margin: 6px 0;
    font-weight: 600;
    font-size: 14px;
    border-radius: 6px;
    box-shadow: 2px 2px 3px 1px #e9e9e9;
    position: relative;
    line-height: 1.45;
  }
  
  .bl-num-list li::before {
    content: counter(bl-counter) ".";
    position: absolute;
    left: 10px;
    top: 8px;
    color: #0a8f5a;
    font-weight: 700;
  }
  
  .bl-num-list strong {
    color: #1a1a1a;
  }
  

  @media screen and (min-width:320px) and (max-width:768px){
    .bl-chat-bubble{
      bottom:80px;
    }
  }