/* ==========================================================
 * Virtual AI Consultant – Chat Widget Styles
 * Production CSS v1.5.0
 * File: assets/chat-style.css
 * ========================================================== */

/* ===== Design tokens / fallbacks ===== */
:root{
  --vaai-primary: var(--wp--preset--color--primary, #005eff);
  --vaai-primary-hover: #0045cc;
  --vaai-border: #ccc;
  --vaai-border-soft: #ddd;
  --vaai-bg: #fff;
  --vaai-bg-soft: #f9f9f9;
  --vaai-bg-muted: #f5f5f5;
  --vaai-text: #333;
  --vaai-text-muted: #666;
  --vaai-link: var(--vaai-primary);
  --vaai-shadow: 0 4px 15px rgba(0,0,0,.2);
  --vaai-shadow-soft: 0 2px 10px rgba(0,0,0,.2);
}

/* ===== Toggle (bubble) ===== */
#ai-toggle-button{
  position:fixed;
  bottom:20px;
  right:20px;
  z-index:10000;

  /* szeroki przycisk z tekstem */
  display:flex; align-items:center; justify-content:center;
  padding:12px 18px;               /* ← zamiast width/height */
  font-size:14px; font-weight:600; font-family:inherit;
  line-height:1.2; text-align:center;
  white-space:normal;               /* pozwól łamać wiersz */
  width:auto; height:auto;          /* ← kluczowe */
  max-width:90vw;                   /* nie wyjdzie poza ekran */

  border:none; border-radius:999px; cursor:pointer;
  color:#fff;
  box-shadow:var(--vaai-shadow-soft);
  transition:background-color .3s ease, transform .06s ease;
}
#ai-toggle-button:active{ transform:translateY(1px); }


/* Shortcode button (wygląd spójny ze „zwykłym” przyciskiem) */
.ai-chat-shortcode-button{
  padding:10px 15px; font-size:14px; font-family:inherit;
  border:none; border-radius:8px; cursor:pointer;
  color:#fff; box-shadow:0 2px 5px rgba(0,0,0,.1);
  background:var(--vaai-primary);
  transition:background-color .3s ease;
  display:inline-block; margin-bottom:10px;
}
.ai-chat-shortcode-button:hover{ background:var(--vaai-primary-hover); }

/* ===== Chat panel ===== */
#ai-chat-container{
  position:fixed;
  bottom:88px; right:20px;
  width:420px; max-width:90vw;
  background:var(--vaai-bg);
  border-radius:10px; border:1px solid var(--vaai-border);
  box-shadow:var(--vaai-shadow);
  z-index:10050; /* nad bubble */
  font-family:inherit;
  display:flex; flex-direction:column;
  overflow:hidden; max-height:calc(100vh - 120px);
}

/* Header */
#ai-chat-header{
  padding:1px 2px !important;
  background:var(--vaai-bg-muted);
  border-bottom:1px solid var(--vaai-border);
  display:flex; justify-content:flex-end; align-items:center; flex-shrink:0;
}
#ai-header-buttons{ display:flex; gap:8px; align-items:center; }
#ai-chat-header button{
  background:none; border:none; color:#666; cursor:pointer;
  padding:2px !important; line-height:1; display:flex; align-items:center; justify-content:center; font-size:1.1em;
}
#ai-chat-header button:hover{ color:#333; }
#ai-chat-header #ai-close-button{ font-size:1.4em; font-weight:bold; }

/* Lead form */
#ai-user-form{
  padding:15px; border-bottom:1px solid #eee; flex-shrink:0; display:block;
}
#ai-user-form p#ai-welcome-text{ margin:0 0 15px; font-size:14px; color:#555; line-height:1.4; }
#ai-user-form input[type="text"],
#ai-user-form input[type="email"],
#ai-user-form input[type="tel"]{
  display:block; width:100%; margin-bottom:10px; padding:10px; font-size:14px;
  border:1px solid var(--vaai-border); border-radius:6px; font-family:inherit; box-sizing:border-box;
  background:#fff; color:var(--vaai-text);
}
#ai-user-form input:focus{
  border-color:var(--vaai-primary);
  outline:none; box-shadow:0 0 0 2px rgba(0,94,255,.2);
}
#ai-user-form button#ai-start-chat{
  display:block; width:100%; padding:10px; font-size:14px;
  background:var(--vaai-primary);
  color:#fff; border:none; border-radius:6px; cursor:pointer;
  transition:background-color .3s ease; margin-top:10px;
}
#ai-user-form button#ai-start-chat:hover{ background:var(--vaai-primary-hover); }
#ai-form-warning{ color:#d9534f; font-size:.9em; margin:5px 0 10px; display:none; }

/* Messages */
#ai-chat-messages{
  padding:10px; overflow-y:auto; flex-grow:1; background:#fff; min-height:150px;
  display:flex; flex-direction:column; gap:8px;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.ai-chat-message{
  padding:8px 12px; border-radius:8px; line-height:1.5; word-wrap:break-word; max-width:90%;
  box-sizing:border-box;
}
.ai-chat-message.user + .ai-chat-message.bot,
.ai-chat-message.bot + .ai-chat-message.user{ margin-top:4px !important; }
.ai-chat-message.user + .ai-chat-message.user,
.ai-chat-message.bot + .ai-chat-message.bot{ margin-top:4px !important; }

.ai-chat-message.bot{
  background:#f0f0f0; color:var(--vaai-text); text-align:left; margin-right:auto; align-self:flex-start;
}
.ai-chat-message.user{
  background:#dceeff; color:var(--vaai-text); text-align:left; margin-left:auto; align-self:flex-end;
}

.ai-chat-message a{
  color:var(--vaai-link);
  text-decoration:underline;
  word-break:break-word;
}
.ai-chat-message a:hover{ text-decoration:none; }
.ai-chat-message img{ max-width:100%; border-radius:4px; margin-top:5px; display:block; height:auto; }

/* Subtelny hover bubble – aliasy dla dwóch klas */
.ai-bubble,
.vaai-bubble{
  transition:background-color .25s ease, box-shadow .25s ease;
}
.ai-bubble:hover,
.vaai-bubble:hover{
  background:rgba(255,255,255,.85);
  box-shadow:0 2px 6px rgba(0,0,0,.08);
}

/* Quick suggestions (scenarios) */
#vaai-quick-suggestions{
  /* 2 kolumny, kompaktowy układ */
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 2px;   /* odstęp między kolumnami */
  row-gap: 0px;      /* odstęp między wierszami */
 

  padding: 2px 3px;
  border-top: 1px solid #e6e6e6;
  border-bottom: 1px solid #f2f2f2;
  background: #fafafa;

  /* wyłącz h-scroll z poprzedniej wersji */
  overflow: visible;
}

/* Styl dla scrollbara w Chrome/Safari */
#vaai-quick-suggestions::-webkit-scrollbar {
  height: 8px; /* Wysokość scrollbara */
}
#vaai-quick-suggestions::-webkit-scrollbar-track {
  background: #f1f1f1; /* Kolor tła ścieżki scrollbara */
  border-radius: 10px;
}
#vaai-quick-suggestions::-webkit-scrollbar-thumb {
  background: #ccc; /* Kolor samego scrollbara */
  border-radius: 10px;
}
#vaai-quick-suggestions::-webkit-scrollbar-thumb:hover {
  background: #999; /* Kolor scrollbara po najechaniu */
}
#vaai-quick-suggestions .vaai-quick-suggestion{
  width: 100%;                        /* przycisk wypełnia kolumnę */
  border: 1px solid #ddd;
  border-radius: 8px;                 /* mniej „pigułki” */
  padding: 3px 6px;                   /* mniej wysokie */
  font-size: 10px;                    /* czytelne, ale mniejsze */
  background: #fff;
  cursor: pointer;
  transition: transform .08s ease, background .2s ease, box-shadow .2s ease;

  white-space: normal;                /* zawijaj tekst */
  word-break: break-word;             /* łam bardzo długie słowa */
  line-height: 1.2;
  text-align: center;
}

#vaai-quick-suggestions .vaai-quick-suggestion:hover{
  transform:translateY(-1px);
  box-shadow:0 1px 6px rgba(0,0,0,.06);
}

/* Input */
#ai-chat-input-area{
  display:flex; align-items:flex-end; gap:8px; border-top:1px solid var(--vaai-border-soft); padding:8px; background:var(--vaai-bg-soft); flex-shrink:0;
}
#ai-chat-text{
  flex-grow:1; padding:8px 10px; font-size:14px; border:1px solid var(--vaai-border); border-radius:6px; resize:none; font-family:inherit;
  line-height:1.4; min-height:40px; max-height:120px; overflow-y:auto; box-sizing:border-box;
  background:#fff; color:var(--vaai-text);
}
#ai-chat-text:focus{
  border-color:var(--vaai-primary);
  outline:none; box-shadow:0 0 0 2px rgba(0,94,255,.2);
}
#ai-chat-buttons{ display:flex; align-items:center; gap:5px; }
#ai-chat-input-area button{
  padding:8px 10px; font-size:14px; border-radius:6px; border:1px solid transparent; cursor:pointer;
  transition:background-color .2s ease, border-color .2s ease; display:flex; align-items:center; justify-content:center; line-height:1;
}
#ai-send-button{
  background:var(--vaai-primary); color:#fff; border-color:var(--vaai-primary);
}
#ai-send-button:hover{
  background:var(--vaai-primary-hover); border-color:var(--vaai-primary-hover);
}
#ai-mic-button{
  background:#eee; color:#555; border-color:#ccc; font-size:1.2em;
}
#ai-mic-button:hover{ background:#ddd; border-color:#bbb; }
#ai-mic-button.recording{ background:#ffdddd; color:#d9534f; border-color:#d9534f; }

/* Extra messages (pasek oczekiwania) */
#ai-wait-message{
  font-size:11px; color:#28a745; text-align:center; padding:5px 0; flex-shrink:0;
  height:0; overflow:hidden; transition:height .3s ease, padding .3s ease; display:none;
}
#ai-wait-message[style*="display: block"]{ height:auto; min-height:18px; }

/* Stopka brandowa */
.ai-brand-note{
  font-size:11px; color:#aaa; text-align:center; padding:6px;
  background:var(--vaai-bg-soft); border-top:1px solid #eee; flex-shrink:0;
}
/* Style dla linka w stopce */
.ai-brand-note a{
  color: var(--vaai-text-muted); /* Używa koloru z zmiennej CSS, domyślnie #666 */
  text-decoration: none;
}
.ai-brand-note a:hover{
  text-decoration: underline;
}


/* === Scenario param form (server-driven) === */
.vaai-param-form{
  display:block;
  width:100%;
  margin:2px 0;
}
.vaai-param-form-title{
  font-size:14px;
  color:var(--vaai-text);
  margin-bottom:10px;
  line-height:1.4;
}
.vaai-param-form-media img{
  display: block;
  max-width: 100%;
  height: auto;
  margin: 6px 0 12px;
  border-radius: 6px;
}

.vaai-param-label{
  display:block;
  font-size:12px;
  color:var(--vaai-text-muted);
  margin:10px 0 4px;
}
.vaai-param-input{
  display:block;
  width:100%;
  padding:9px 10px;
  font-size:14px;
  border:1px solid var(--vaai-border);
  border-radius:6px;
  box-sizing:border-box;
  font-family:inherit;
  background:#fff; color:var(--vaai-text);
}
.vaai-param-form select.vaai-param-input{
  width:100%;
  padding:10px 12px;
  border:1px solid #ddd;
  border-radius:6px;
  font:inherit;
  background:#fff;
}

.vaai-param-input:focus{
  border-color:var(--vaai-primary);
  outline:none;
  box-shadow:0 0 0 2px rgba(0,94,255,.15);
}
.vaai-param-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:12px;
}
.vaai-param-submit{
  padding:8px 12px;
  font-size:14px;
  border-radius:6px;
  border:1px solid var(--vaai-primary);
  background:var(--vaai-primary);
  color:#fff;
  cursor:pointer;
  transition:background-color .2s ease, border-color .2s ease, opacity .2s ease;
}
.vaai-param-submit:hover{
  background:var(--vaai-primary-hover);
  border-color:var(--vaai-primary-hover);
}
.vaai-param-input:disabled,
.vaai-param-submit:disabled{
  opacity:.6;
  cursor:not-allowed;
}

/* Subtelna animacja przy brakujących polach (JS może dodać klasę .shake) */
@keyframes vaai-shake {
  10%, 90% { transform: translateX(-1px); }
  20%, 80% { transform: translateX( 2px); }
  30%, 50%, 70% { transform: translateX(-4px); }
  40%, 60% { transform: translateX( 4px); }
}
.vaai-param-form-title.shake{
  animation: vaai-shake .35s ease;
}

/* Inline mode (if ever needed) */
#ai-chat-container.inline{
  position:fixed !important; right:20px !important; left:auto !important; bottom:20px !important;
  width:420px !important; max-width:95vw !important; margin:0 !important;
  box-shadow:var(--vaai-shadow) !important; border:1px solid var(--vaai-border) !important; border-radius:12px !important;
  z-index:10050 !important; transform:none !important; background:#fff !important;
}

/* ===== Accessibility / focus ===== */
#ai-toggle-button:focus-visible,
#ai-send-button:focus-visible,
#ai-mic-button:focus-visible,
#ai-user-form button#ai-start-chat:focus-visible,
#vaai-quick-suggestions .vaai-quick-suggestion:focus-visible{
  outline:2px solid var(--vaai-primary);
  outline-offset:2px;
}

/* ===== Reduced motion ===== */
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

/* ===== Dark mode (łagodne dopasowanie) ===== */
@media (prefers-color-scheme: dark){
  :root{
    --vaai-bg:#111827;
    --vaai-bg-soft:#0f1623;
    --vaai-bg-muted:#0b1220;
    --vaai-text:#e5e7eb;
    --vaai-text-muted:#b8c0cc;
    --vaai-border:#1f2937;
    --vaai-border-soft:#1f2937;
    --vaai-shadow: 0 4px 20px rgba(0,0,0,.45);
    --vaai-shadow-soft: 0 2px 12px rgba(0,0,0,.4);
  }
  #ai-chat-container{ background:var(--vaai-bg); border-color:var(--vaai-border); }
  #ai-chat-header{ background:var(--vaai-bg-muted); border-bottom-color:var(--vaai-border); }
  #ai-user-form input[type="text"],
  #ai-user-form input[type="email"],
  #ai-user-form input[type="tel"],
  #ai-chat-text,
  .vaai-param-input{
    background:#0b1220; color:var(--vaai-text);
    border-color:var(--vaai-border);
  }
  #ai-chat-messages{ background:var(--vaai-bg); }
  .ai-chat-message.bot{ background:#1f2937; color:var(--vaai-text); }
  .ai-chat-message.user{ background:#0b3a78; color:#e5f0ff; }
  #vaai-quick-suggestions{ background:#0f1623; border-color:var(--vaai-border); }
  #vaai-quick-suggestions .vaai-quick-suggestion{ background:#0b1220; border-color:var(--vaai-border); color:var(--vaai-text); }
  #ai-chat-input-area{ background:var(--vaai-bg-soft); border-top-color:var(--vaai-border-soft); }
  .ai-brand-note{ background:var(--vaai-bg-soft); border-top-color:var(--vaai-border); color:#8a95a7; }
}

/* ===== Mobile ===== */
@media screen and (max-width:500px){ /* TEN BLOK MUSI TU BYĆ! */
  #ai-chat-container{ width:95vw; right:2.5vw; bottom:calc(76px + env(safe-area-inset-bottom)); max-height:85vh; }

  /* Bąbelek na mobile: zawsze okrągły, tylko ikona, tekst schowany */
  #ai-toggle-button{
    bottom:calc(10px + env(safe-area-inset-bottom));
    right:calc(10px + env(safe-area-inset-right));
    width:56px; 
    height:56px;
    padding:0;
    border-radius:9999px;
    /* ukryj długi tekst tytułu przycisku na mobile */
    overflow:hidden;
    text-indent:-9999px;   /* schowaj tekst wizualnie */
    font-size:0;           /* i niech nie zabiera miejsca */
  }
  /* Ikona w środku bąbelka */
  #ai-toggle-button::after{
    content:"💬";
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    text-indent:0;
  }

  #ai-chat-messages{ min-height:100px; } /* Ten i poniższe były poza media query w Twoim pliku, co jest nieprawidłowe */
  #ai-chat-text{ min-height:38px; max-height:100px; }
}
/* Order status mini-form */
.vaai-order-form .vaai-order-input{
  width:100%;
  padding:10px 12px;
  border:1px solid rgba(0,0,0,.14);
  border-radius:6px;
  margin:6px 0 12px;
}
.vaai-order-form .vaai-order-submit{
  display:inline-block;
  padding:10px 14px;
  border-radius:6px;
  border:0;
}

/* ===== Print (ukryj widget) ===== */
@media print{
  #ai-chat-container,
  #ai-toggle-button{ display:none !important; }
}
#vaai-quick-suggestions .vaai-quick-suggestion,
#ai-quick-actions .vaai-quick-suggestion {
  white-space: normal;
  word-break: break-word;
  text-align: center;
  line-height: 1.2;
  /* usuwamy padding – zostaje ten z bloku powyżej (6px 8px) */
}
/* Nudge – tryb bez CTA na desktopie */
#vaai-nudge.vaai-nudge--cta-hidden { cursor: pointer; }
#vaai-nudge.vaai-nudge--cta-hidden .vaai-nudge__cta { display: none !important; }
#vaai-nudge .vaai-nudge__close { cursor: pointer; }

/* === Quick Actions — animacje i hover dla wszystkich przycisków === */
#ai-quick-actions .vaai-quick-suggestion,
#vaai-quick-suggestions .vaai-quick-suggestion{
  transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease, transform .08s ease;
}
#ai-quick-actions .vaai-quick-suggestion:hover,
#vaai-quick-suggestions .vaai-quick-suggestion:hover{
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
}

/* Dostępność — focus z klawiatury */
#ai-quick-actions .vaai-quick-suggestion:focus-visible,
#vaai-quick-suggestions .vaai-quick-suggestion:focus-visible{
  outline: 3px solid rgba(0,0,0,.15);
  outline-offset: 2px;
}
#ai-quick-actions .vaai-quick-suggestion[data-action^="[FLOW:" ]:focus-visible,
#vaai-quick-suggestions .vaai-quick-suggestion[data-action^="[FLOW:" ]:focus-visible{
  outline: 3px solid var(--vaai-primary);
  outline-offset: 2px;
}

/* === SCENARIUSZE [FLOW:...] — stały cień (bez hover), przestrzenny wygląd === */
#ai-quick-actions .vaai-quick-suggestion[data-action^="[FLOW:"],
#vaai-quick-suggestions .vaai-quick-suggestion[data-action^="[FLOW:" ]{
  /* zachowujemy biały środek i nie zmieniamy koloru tekstu */
  background: transparent !important;
  border: 1px solid var(--vaai-primary) !important;
  color: inherit !important;
    font-size: 10px;   /* tylko scenariusze */

  /* STAŁY cień – widoczny bez hovera */
  box-shadow:
    0 8px 22px rgba(0,0,0,.18),
    0 2px 6px rgba(0,0,0,.10) !important;

  transition: border-color .15s ease, box-shadow .15s ease, transform .08s ease;
}
/* Ciaśniejsze gabaryty tylko dla scenariuszy [FLOW:...] */
#vaai-quick-suggestions .vaai-quick-suggestion[data-action^="[FLOW:" ]{
  padding: 1px 2px;   /* mniejsza wysokość */
  line-height: 1;  /* ciaśniej w środku */
  margin: 0.30px 0;      /* zero marginesów pionowych */
}


  
/* Hover – delikatnie mocniejszy cień i jaśniejszy obrys */
#ai-quick-actions .vaai-quick-suggestion[data-action^="[FLOW:" ]:hover,
#vaai-quick-suggestions .vaai-quick-suggestion[data-action^="[FLOW:" ]:hover{
  border-color: var(--vaai-primary-hover) !important;
  transform: translateY(-1px);
  box-shadow:
    0 12px 30px rgba(0,0,0,.22),
    0 3px 10px rgba(0,0,0,.10) !important;
}

/* Kliknięcie – efekt „wciśnięcia” */
#ai-quick-actions .vaai-quick-suggestion[data-action^="[FLOW:" ]:active,
#vaai-quick-suggestions .vaai-quick-suggestion[data-action^="[FLOW:" ]:active{
  transform: translateY(0);
  box-shadow:
    0 4px 12px rgba(0,0,0,.16),
    0 2px 6px rgba(0,0,0,.08) !important;
}

