/* Taxiactu.com - Global Styles */
/* Notes:
   - Use Tailwind utility classes in HTML.
   - You can override variables below to adjust the visual identity.
*/

/* Color system (fallbacks provided) */
:root {
  /* Remplacer par vos couleurs si besoin */
  --color-primary: #0ea5e9; /* sky-500 */
  --color-secondary: #f59e0b; /* amber-500 */

  --radius: 14px;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.06);
  --shadow-md: 0 6px 20px rgba(0,0,0,0.06);
}

/* Dark scheme */
@media (prefers-color-scheme: dark) {
  :root {
    --color-primary: #38bdf8; /* sky-400 */
    --color-secondary: #fbbf24; /* amber-400 */
  }
}

html, body {
  height: 100%;
}

/* Selection */
::selection {
  background: color-mix(in srgb, var(--color-primary) 20%, transparent);
}

/* Chat component base style */
assistant-chat {
  display: block;
}

.chat-shell {
  border: 1px solid #e5e7eb;
  border-radius: var(--radius);
  background: #ffffff;
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

.chat-header {
  padding: 12px 14px;
  border-bottom: 1px solid #e5e7eb;
  background: linear-gradient(0deg, #ffffff, #ffffff 60%, rgba(14,165,233,0.05));
  display: flex;
  align-items: center;
  gap: 10px;
}

.chat-title {
  font-weight: 600;
  font-size: 14px;
}

.chat-subtitle {
  font-size: 12px;
  color: #64748b;
}

.chat-messages {
  max-height: 380px;
  overflow-y: auto;
  padding: 12px;
  background: #fafafa;
}

.chat-inputbar {
  border-top: 1px solid #e5e7eb;
  padding: 10px;
  background: #fff;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
}

.chat-inputbar textarea {
  resize: none;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 10px 12px;
  min-height: 42px;
  max-height: 120px;
  outline: none;
}

.chat-inputbar button {
  border: 0;
  background: var(--color-primary);
  color: white;
  border-radius: 10px;
  padding: 0 14px;
  font-weight: 600;
}

.msg {
  display: grid;
  gap: 6px;
  margin-bottom: 10px;
}

.msg .role {
  font-size: 11px;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.msg .bubble {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 10px 12px;
  background: #fff;
  line-height: 1.35;
  white-space: pre-wrap;
}

.msg.user .bubble {
  border-color: color-mix(in srgb, var(--color-primary) 30%, #e5e7eb);
  background: color-mix(in srgb, var(--color-primary) 6%, #fff);
}

.msg.bot .bubble {
  background: #ffffff;
}

/* Floating panel mode */
.chat-floating {
  position: fixed;
  right: 24px;
  bottom: 84px;
  z-index: 50;
  width: min(420px, calc(100vw - 32px));
}

.chat-floating .chat-shell {
  box-shadow: var(--shadow-md);
}

/* Simple reveal animation */
@keyframes fade-in-up {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.reveal {
  animation: fade-in-up .35s ease both;
}